home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / formats / grasp / grasp.doc
Text File  |  1980-02-07  |  106KB  |  5,179 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                      G R A S P
  17.  
  18.                          GRAphical System for Presentation
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.                            Another USEware product from:
  51.  
  52.                              Microtex Industries, Inc.
  53.                             2091 Business Center Drive
  54.                                 Irvine, Ca.  92715
  55.                                   (714) 476-0777
  56.  
  57.                     (714) 545-8100 - PCPaint Picture Swap Line
  58.  
  59.         Current release number: 1.10            Current release date :05/86
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.                              GRASP - Table of Contents
  126.                              =========================
  127.  
  128.          Overview of Product . . . . . . . . . . . . . . . . . . . . .    1
  129.  
  130.               What is GRASP? . . . . . . . . . . . . . . . . . . . . .    3
  131.               What is on the GRASP disk? . . . . . . . . . . . . . . .    4
  132.               Making a working copy of the GRASP disk  . . . . . . . .    6
  133.               Installing GRASP . . . . . . . . . . . . . . . . . . . .    7
  134.               GRASP Installation Diagram . . . . . . . . . . . . . . .    8
  135.               How do I use GRASP?  . . . . . . . . . . . . . . . . . .    9
  136.               Running GRASP  . . . . . . . . . . . . . . . . . . . . .   10
  137.               The Grasp Editor . . . . . . . . . . . . . . . . . . . .   12
  138.               Simple GRASP Tutorial  . . . . . . . . . . . . . . . . .   15
  139.               Running the library file version - GRASPRT . . . . . . .   18
  140.               Using the GRASP Graphics Librarian - GLIB  . . . . . . .   19
  141.  
  142.          The commands of GRASP - Detailed  . . . . . . . . . . . . . .   21
  143.  
  144.               BOX  . . . . . . . . . . . . . . . . . . . . . . . . . .   23
  145.               CFADE  . . . . . . . . . . . . . . . . . . . . . . . . .   24
  146.               CFREE  . . . . . . . . . . . . . . . . . . . . . . . . .   25
  147.               CHGCOLOR . . . . . . . . . . . . . . . . . . . . . . . .   26
  148.               CIRCLE . . . . . . . . . . . . . . . . . . . . . . . . .   27
  149.               CLEARSCR . . . . . . . . . . . . . . . . . . . . . . . .   28
  150.               CLOAD  . . . . . . . . . . . . . . . . . . . . . . . . .   29
  151.               COLOR  . . . . . . . . . . . . . . . . . . . . . . . . .   30
  152.               EXEC . . . . . . . . . . . . . . . . . . . . . . . . . .   31
  153.               EXIT . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  154.               FFREE  . . . . . . . . . . . . . . . . . . . . . . . . .   33
  155.               FGAPS  . . . . . . . . . . . . . . . . . . . . . . . . .   34
  156.               FLOAD  . . . . . . . . . . . . . . . . . . . . . . . . .   35
  157.               FLOAT  . . . . . . . . . . . . . . . . . . . . . . . . .   36
  158.               FLY  . . . . . . . . . . . . . . . . . . . . . . . . . .   37
  159.               FSTYLE . . . . . . . . . . . . . . . . . . . . . . . . .   38
  160.               GOSUB  . . . . . . . . . . . . . . . . . . . . . . . . .   39
  161.               GOTO . . . . . . . . . . . . . . . . . . . . . . . . . .   40
  162.               IFKEY  . . . . . . . . . . . . . . . . . . . . . . . . .   41
  163.               LINE   . . . . . . . . . . . . . . . . . . . . . . . . .   42
  164.               LINK . . . . . . . . . . . . . . . . . . . . . . . . . .   43
  165.               LOOP . . . . . . . . . . . . . . . . . . . . . . . . . .   44
  166.               MARK . . . . . . . . . . . . . . . . . . . . . . . . . .   45
  167.               MODE . . . . . . . . . . . . . . . . . . . . . . . . . .   46
  168.               NOISE  . . . . . . . . . . . . . . . . . . . . . . . . .   48
  169.               OFFSET . . . . . . . . . . . . . . . . . . . . . . . . .   49
  170.               PALETTE  . . . . . . . . . . . . . . . . . . . . . . . .   50
  171.               PAN  . . . . . . . . . . . . . . . . . . . . . . . . . .   51
  172.               PFADE  . . . . . . . . . . . . . . . . . . . . . . . . .   52
  173.               PFREE  . . . . . . . . . . . . . . . . . . . . . . . . .   53
  174.               PLOAD  . . . . . . . . . . . . . . . . . . . . . . . . .   54
  175.               POINT  . . . . . . . . . . . . . . . . . . . . . . . . .   55
  176.               PUTUP  . . . . . . . . . . . . . . . . . . . . . . . . .   56
  177.  
  178.                                           i
  179.  
  180.  
  181.  
  182.  
  183.  
  184.               RESETSCR . . . . . . . . . . . . . . . . . . . . . . . .   57
  185.               RETURN . . . . . . . . . . . . . . . . . . . . . . . . .   58
  186.               SETCOLOR . . . . . . . . . . . . . . . . . . . . . . . .   59
  187.               TEXT . . . . . . . . . . . . . . . . . . . . . . . . . .   60
  188.               TRAN . . . . . . . . . . . . . . . . . . . . . . . . . .   61
  189.               VIDEO  . . . . . . . . . . . . . . . . . . . . . . . . .   62
  190.               WAITKEY  . . . . . . . . . . . . . . . . . . . . . . . .   64
  191.               WINDOW . . . . . . . . . . . . . . . . . . . . . . . . .   65
  192.  
  193.          Tips, Hints, Examples and Demo Programs . . . . . . . . . . .   67
  194.  
  195.               Example Program #1 - Slide Show  . . . . . . . . . . . .   69
  196.               Example Program #2 - How to animate using FLY  . . . . .   70
  197.  
  198.          APPENDIX A - Command Summary  . . . . . . . . . . . . . . . .   71
  199.  
  200.          APPENDIX B - Fade Table . . . . . . . . . . . . . . . . . . .   73
  201.  
  202.          APPENDIX C - Error Messages . . . . . . . . . . . . . . . . .   75
  203.  
  204.          APPENDIX D - Picture Swap Line  . . . . . . . . . . . . . . .   79
  205.  
  206.          APPENDIX E - GRASP Order Form . . . . . . . . . . . . . . . .   81
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.                                          ii
  238.  
  239.  
  240.  
  241.  
  242.  
  243.                                 Overview of Product
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.                    GRASP - Graphical System for Presentation
  297.                                    Page:  1
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.                         This page intentionally left blank
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.                    GRASP - Graphical System for Presentation
  358.                                    Page:  2
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.                                   What is GRASP?
  367.  
  368.         GRASP is a simple graphics programming pseudo-language which can be
  369.         used to create and run animated graphics demonstrations, tutorials,
  370.         and  presentations  on  an  IBM  PC/XT/AT or respective compatible.
  371.         GRASP requires that the user make use of  some other  tool, such as
  372.         Mouse Systems'  PCPAINT PLUS, to create PCPAINT PLUS packed page or
  373.         BSAVE format pictures, or 'capture' screens from any other graphics
  374.         software with  the provided  capture utility  program. This product
  375.         was developed by the folks at  Microtex Industries,  the authors of
  376.         PCPAINT PLUS, so it is patterned to take advantage of the pictures,
  377.         clippings and fonts  created  with  PCPAINT  PLUS  and  its related
  378.         utilities, like FONTASIA and ARTOOLS.
  379.  
  380.         GRASP was  designed to  be the  base for many other products. GRASP
  381.         files can be generated by programs  written in  virtually any other
  382.         language. This  allows great flexibility to users in many different
  383.         areas. It is  this  flexibility  that  sets  GRASP  apart  from its
  384.         competitors. GRASP  in its  raw form,  as you  have it here, is not
  385.         indended to be a  user-friendly,  end-user  tool.  It  is, however,
  386.         simple enough  that any  user can  quickly learn  how to manipulate
  387.         GRASP files with ease.
  388.  
  389.  
  390.         Features:
  391.  
  392.         * Supports IBM CGA, IBM EGA, HERCULES, AST ColorGraphPlus,
  393.           Plantronics, AST Preview, 3 text modes.
  394.  
  395.         * 16 Picture Buffers
  396.  
  397.         * 128 Clipping Buffers
  398.  
  399.         * Single command to control animation sequences
  400.  
  401.         * 25 different fades with limitless combinations
  402.  
  403.         * Simple ASCII file format
  404.  
  405.         * FONTRIX(tm) font compatible
  406.  
  407.         * Fully PCPAINT PLUS from MOUSE SYSTEMS(tm) compatible
  408.  
  409.         * Run Custom Programs from within GRASP program
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.                    GRASP - Graphical System for Presentation
  419.                                    Page:  3
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.                             What is on the GRASP disk?
  427.  
  428.  
  429.         The following files are on the GRASP disk
  430.  
  431.         GRASP.EXE -
  432.  
  433.         This is the main GRASP program.  This   version  of GRASP  gets the
  434.         pictures, character  sets, clippings  and text  files it needs from
  435.         the current directory on your current disk drive,  unless otherwise
  436.         specified in  the text  files. This  program allows  you to create,
  437.         edit and execute your GRASP programs.
  438.  
  439.         GRASPRT.EXE - 
  440.  
  441.         This is the run-time version of GRASP. This  version of  GRASP gets
  442.         the pictures,  character sets,  clippings, and text it needs from a
  443.         graphics library  created with  the GRASP  graphics librarian GLIB.
  444.         This version only allows you to execute completed programs that are
  445.         in library form. No  editing of  the files  is possible.  This .EXE
  446.         file, along  with your .GL file, may be distributed without license
  447.         fees or other compensation.
  448.  
  449.         GLIB.COM - 
  450.  
  451.         Library  manager  for  version  GRASPRT  of  GRASP  product. Allows
  452.         management of  all necessary  files in a library environment rather
  453.         than as files in a subdirectory on a disk. 
  454.  
  455.         CAP.COM -
  456.  
  457.         Capture program for capturing screens and  clippings from  all your
  458.         favorite software.
  459.  
  460.         WHATPIC.EXE - 
  461.  
  462.         Utility program to determine size and color combinations of PCPAINT
  463.         PLUS pictures.
  464.  
  465.         WHATCLP.EXE - 
  466.  
  467.         Utility program to determine size and color combinations of PCPAINT
  468.         PLUS clippings.
  469.  
  470.         *.SET -
  471.  
  472.         Some fonts for you to use in your demo.  
  473.  
  474.         *.HLP -
  475.  
  476.         Various help files.
  477.  
  478.  
  479.                    GRASP - Graphical System for Presentation
  480.                                    Page:  4
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.         GRASP.PIC -
  488.  
  489.         A 4 color CGA picture to use for testing and learning about GRASP.
  490.  
  491.         ALLFADES.TXT -
  492.  
  493.         A sample  GRASP text  file that uses GRASP.PIC and demonstrates all
  494.         the different fades.
  495.  
  496.         GRASP.MAN -
  497.  
  498.         The GRASP manual. You are reading it right now!
  499.  
  500.         CAP.MAN -
  501.  
  502.         A short manual on CAP, the resident capture utility.
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.                    GRASP - Graphical System for Presentation
  541.                                    Page:  5
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.                       Making a working copy of the GRASP disk
  549.  
  550.  
  551.         The GRASP disk is not copy protected in any way. You should back up
  552.         the disk  using the DOS diskcopy command, or you may perform a file
  553.         by file backup to a hard disk using the DOS copy command. There are
  554.         several different  ways to  copy disks under DOS, but the following
  555.         will  work  on  almost  any  hardware  configuration  since  all it
  556.         requires is access to the DOS master disk and 1 floppy disk drive.
  557.  
  558.         For PCs with 1 or 2 floppys, or an XT or AT with 1 floppy:
  559.  
  560.         Put your  DOS master  disk in  drive A  and turn  on the machine or
  561.         press CTRL-ALT-DEL to re-boot the system.  Enter the  Date and Time
  562.         when prompted and you should see the system prompt:
  563.  
  564.         A>_
  565.  
  566.         Type:
  567.  
  568.         A>DISKCOPY A: A:
  569.  
  570.         and press  the return  key. You  will be prompted to put the SOURCE
  571.         disk in drive A. Remove the DOS master disk from  drive A,  put the
  572.         GRASP distribution  disk in,  close the  door and  press the return
  573.         key. After it reads some information, DOS will  ask you  to put the
  574.         TARGET disk in drive A. Put a blank disk (formatted or unformatted)
  575.         into drive A, close the door and press return. If  your machine has
  576.         less than  512K of memory, you may be prompted to perform this disk
  577.         exchange several times. When the process is complete, put the GRASP
  578.         disk away in a safe place and use the backup copy for your work.
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.                    GRASP - Graphical System for Presentation
  602.                                    Page:  6
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.                                  Installing GRASP
  610.  
  611.  
  612.         Simple Set-Up
  613.         -------------
  614.  
  615.         To  develop  demos  under  the  grasp  system, you need to have the
  616.         following GRASP files and programs accessible:
  617.  
  618.         GRASP.EXE
  619.         CM1.HLP
  620.         CM2.HLP
  621.         ED1.HLP
  622.         FD1.HLP
  623.         FD2.HLP
  624.         RP1.HLP
  625.  
  626.         as well as your pictures, clippings and fonts.
  627.  
  628.         With all of these files in  one subdirectory,  you will  be able to
  629.         create and  edit your  demo program and have access to the help. If
  630.         you do not need the help files, you may omit them. If you are going
  631.         to be  creating a  library version of your demo, you will also need
  632.         access to the librarian utility, GLIB.EXE. 
  633.  
  634.  
  635.  
  636.         Advanced Set-Up
  637.         ---------------
  638.  
  639.         The following is an example of a well set-up system on a hard disk,
  640.         including PCPAINT,  so that you can edit pictures and clippings and
  641.         create your demo with a minimum of effort.
  642.  
  643.         From the root directory, create a sub-directory called PAINTLIB and
  644.         put all  the PCPAINT  files in  it. (This is the recommended method
  645.         for installing PCPAINT). In addition, be  sure your  PATH statement
  646.         points to  PAINTLIB and  set up an environment variable to point to
  647.         PAINTLIB as well with the command:
  648.  
  649.         SET PAINTLIB=C:\PAINTLIB
  650.  
  651.         Also make a sub-directory off the root called GRASP. Copy the GRASP
  652.         disk contents  to the  sub-directory GRASP. Add the GRASP directory
  653.         to your PATH command. Then create a DEMO  directory, change  to it,
  654.         and run  GRASP by  typing GRASP at the command prompt. When you are
  655.         in the GRASP editor, you can  run PCPAINT  by pressing  ALT-F10 and
  656.         your previous  PATH and  SET statements will help DOS know where to
  657.         find it. The following diagram is an example:
  658.  
  659.  
  660.  
  661.  
  662.                    GRASP - Graphical System for Presentation
  663.                                    Page:  7
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.                             GRASP Installation Diagram
  671.  
  672.  
  673.         This diagram  shows the  proper structure  for your sub-directories
  674.         for GRASP  to perform  in the  above stated  manner. This  is not a
  675.         requirement, just an example.
  676.                                        
  677.                                    ___________
  678.                                   |           |
  679.                                   |  C:\Root  |
  680.                                   |___________|
  681.                 ________________________|________________________ . . . .
  682.          ______|_______    ______|______    __________|__________    
  683.         |              |  |             |  |                     |
  684.         |   PAINTLIB   |  |    GRASP    |  |    DOS or OTHER     |
  685.         |______________|  |_____________|  |_____________________|   
  686.             :                  :      |          : 
  687.         PCPAINT.EXE        GRASP.EXE  |      DOS files
  688.         PxPAINT.OVR        ED1.HLP    |      Various batch files 
  689.         CAP.COM            CM1.HLP    |
  690.                            CM2.HLP    | 
  691.                            CM3.HLP    |
  692.                            FD1.HLP    |
  693.                            FD2.HLP    |
  694.                            RP1.HLP    |
  695.                                       |
  696.                            ___________|_ 
  697.                           |             | 
  698.                           |    Demos    |
  699.                           |_____________|
  700.  
  701.         Then these statements would be in your AUTOEXEC.BAT file:
  702.  
  703.         SET PAINTLIB=C:\PAINTLIB
  704.         PATH C:\PAINTLIB;C:\GRASP;C:\whateverelseyouwant...
  705.  
  706.         With this  set-up, you  can be  in any  directory and  run GRASP by
  707.         typing GRASP and PCPAINT by typing PCPAINT. You have full access to
  708.         all help files and the  PCPAINT  system.  The  auto-run  feature in
  709.         GRASP (ALT-F10)  allows you to run PCPAINT while in GRASP. It looks
  710.         for PCPAINT in the \PAINTLIB directory.  The  GRASP help  files are
  711.         only accessible if they are in one of three places:
  712.  
  713.         1) In the current directory
  714.         2) In the directory pointed to by the environment string 'PAINTLIB'
  715.         3) In a sub-directory off the root called 'GRASP'
  716.  
  717.         GRASP performs  a search  for the help files in this order. If they
  718.         are not found, a message  will  appear  when  you  first  run grasp
  719.         telling you so. You may run GRASP without access to the help files,
  720.         but you will get a beep if you try to access them.
  721.  
  722.  
  723.                    GRASP - Graphical System for Presentation
  724.                                    Page:  8
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.                                 How do I use GRASP?
  732.  
  733.  
  734.         To use GRASP you need to do 3 things.
  735.  
  736.  
  737.         1) Create the pictures and clippings you want  to use  with PCPAINT
  738.         PLUS, or capture them the the CAP utility.
  739.  
  740.         2) Use the built-in GRASP editor to create an GRASP 'program' which
  741.         is nothing more than a list of GRASP commands and some comments.
  742.  
  743.         3) Run your demonstration  by pressing  F10 from  the editor  or by
  744.         selecting EXECUTE FILE from the main GRASP menu.
  745.  
  746.  
  747.         It's that  simple. If you want to give your demo away, you must put
  748.         the .PIC, .CLP, .SET and .TXT  files into  a library  with the GLIB
  749.         utility, and distribute the library file with GRASPRT.EXE.
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.                    GRASP - Graphical System for Presentation
  785.                                    Page:  9
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.                                    Running GRASP
  793.  
  794.         To run the GRASP, enter at the command prompt:
  795.  
  796.         A:>GRASP
  797.  
  798.         You will be presented with a screen that looks something like this:
  799.  
  800.                                      G R A S P
  801.                          GRAphical System for Presentation
  802.                              Version 1.10* - May, 1986
  803.                   Copyright (C) 1986 - Microtex Industries, Inc.
  804.  
  805.                                     Edit File      
  806.                                     Execute File   
  807.                                     Load File      
  808.                                     Save File      
  809.                                     Quit GRASP     
  810.  
  811.                                Current File: TMPFILE
  812.  
  813.         To select  an option from this menu, use the up and down arrow keys
  814.         until the option you want to select is highlighted. Then just press
  815.         return  and  the  option  is  selected. Each of these options has a
  816.         special meaning to GRASP.
  817.  
  818.         Edit File: The Edit File option tells GRASP that you want to  go to
  819.         the editor and create or modify your GRASP program file.
  820.  
  821.         Execute File:  The Execute  File option  tells GRASP to execute the
  822.         currently loaded GRASP program file.
  823.  
  824.         Load File: The Load File option allows you to tell GRASP to load in
  825.         an existing  file, or  to create  a new one. Notice that just below
  826.         the menu there is an area  with the  current filename  listed. When
  827.         you  first  run  GRASP,  the  system  will  default to a file named
  828.         TMPFILE. This is the name that GRASP will use unless  you specify a
  829.         new one.  To specify  a new one, just type in the name you want. DO
  830.         NOT specify  the filename  extension. GRASP  will automatically use
  831.         the extension  .TXT for you. To create a new file, just perform the
  832.         load as though the  file you  want already  exists. GRASP  is smart
  833.         enough to  understand and  create a  new file for you. If a file is
  834.         already loaded, and changes have been  made, GRASP  will prompt you
  835.         for saving before allowing you to load another. This keeps you from
  836.         trashing your current file.
  837.  
  838.         Save File: The Save File option tells GRASP that you want to save
  839.         the current working GRASP program file. It works  much the  same as
  840.         the load  command. Just  specify the name you want to save the file
  841.         under and press return. The  system  will  default  to  the current
  842.         working name.
  843.  
  844.  
  845.                    GRASP - Graphical System for Presentation
  846.                                    Page:  10
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.         Quit GRASP: The Quit GRASP option tells the system that you want to
  854.         exit GRASP. If a file is loaded and has been changed since the last
  855.         save, GRASP will prompt you for saving before allowing you to quit.
  856.  
  857.         Be sure to save your file before quitting!
  858.  
  859.  
  860.         Of these  options, the only one that requires special consideration
  861.         is the first one, Edit File. Select that  option and  let's explore
  862.         the world of the GRASP editor...
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.                    GRASP - Graphical System for Presentation
  907.                                    Page:  11
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.                                  The Grasp Editor
  916.  
  917.  
  918.         If you  have selected  the Edit File option from the main menu, you
  919.         will now be in the GRASP editor. The screen should have a blue line
  920.         across the top that looks like the following:
  921.  
  922.  
  923.         TMPFILE         COL:1     LINE:1     POS:0     LEN:0      INSERT ON
  924.  
  925.         These are  just information  items about  the current  file you are
  926.         working on and the mode you are operating in. Starting  at the left
  927.         is the  name of  the current  file, which defaults to TMPFILE. Next
  928.         comes the current cursor column  number,  the  current  cursor line
  929.         number,  the  current  cursor's  character position relative to the
  930.         entire file, and the total  number  of  characters  in  the current
  931.         file.  At  the  far  right  is  the  status  of the INS key on your
  932.         keyboard. If INSERT mode is ON,  then characters  you type  will be
  933.         inserted before  the character  just to the right of the cursor. If
  934.         INSERT mode is OFF, then characters to the right of the cursor will
  935.         be overwritten.  This second  mode, INSERT  OFF, is commonly called
  936.         OVERSTRIKE mode. This information is just there for  reference, and
  937.         with the  exception of  the INSERT  mode signal, you probably won't
  938.         need to refer to it too often.
  939.  
  940.         The first three function keys are the most important keys  to learn
  941.         in  the  GRASP  editor.  GRASP  provides  'Quick  Help'  for  three
  942.         different areas and is accessable by pressing F1, F2 or F3. 
  943.  
  944.         NOTE: If you press one of these function keys and  hear a  low tone
  945.         from  your  computer  and  no  help  appears,  it  means that GRASP
  946.         couldn't find the .HLP files that  were on  your distribution disk.
  947.         If you  want to use the help. the .HLP files must be on the current
  948.         drive and directory, in a directory called 'GRASP' directly off the
  949.         root directory,  or in  a directory  pointed to  by the environment
  950.         string 'PAINTLIB'. See INSTALLING GRASP for more details.
  951.  
  952.         F1 - Provides help in using the GRASP Editor. This  includes a list
  953.         of the  most commonly  used editing  keys and a description of what
  954.         each function key is used for.
  955.  
  956.         F2 - Provides  a  quick  summary  listing  of  all  available GRASP
  957.         commands.  This  information  is  not  a  complete reference on the
  958.         commands of GRASP, but  rather a  command syntax  reference so that
  959.         you  can   insure  proper  useage  of  the  commands  and  a  brief
  960.         description of what the command is used for. 
  961.  
  962.         F3 - Provides a  summary listing  of the  25 GRASP  fades and their
  963.         respective  numbers.  Remember  that  all  fades  can  be  used for
  964.         graphics  pictures,  text  pictures,  pictures  in   a  window  and
  965.         clippings.
  966.  
  967.                    GRASP - Graphical System for Presentation
  968.                                    Page:  12
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.         If this  is your  first time  running GRASP and you are too lazy or
  977.         too bored  to  read  the  entire  manual,  you  should  find enough
  978.         information in these help keys to get you started.
  979.  
  980.         If you want to learn a little more about the editor, here is a full
  981.         description of all the keys available in the GRASP editor.
  982.  
  983.         F1  - Quick help with the editor.
  984.         F2  - Quick help with the commands.
  985.         F3  - Quick help with the fades and video modes.
  986.         F4  - Start/End highlighting a block.
  987.         F5  - Copy a highlighted block.
  988.         F6  - Move a highlighted block.
  989.         F7  - Read a block in from disk.
  990.         F8  - Write a highlighted block to disk.
  991.         F9  - Save current file and run from current line.
  992.         F10 - Save current file and run from the top.
  993.  
  994.         ALT/F1   - Quick exit to DOS. Typing EXIT at the DOS propmt returns
  995.                    you to the GRASP editor.
  996.  
  997.         ALT/F10  - Run  PCPAINT  from  within the GRASP editor. PCPAINT.EXE
  998.                    and  its  overlays  must  be  in  a  subdirectory called
  999.                    PAINTLIB off the root directory on the current drive.
  1000.  
  1001.         CTRL-K-X or
  1002.         ESC      - Quit the  editor. Do  not save file. Leave flag set that
  1003.                    indicates changes if they have been made. 
  1004.  
  1005.         CTRL-K-Q - Quit  the  editor.  Do  not  save  file.  Reset  flag to
  1006.                    indicate no changes have been made.
  1007.  
  1008.         CTRL-K-D or
  1009.         ALT/X    - Quit the editor, save file if changes have been made.
  1010.  
  1011.         CTRL-K-S or
  1012.         ALT/S or
  1013.         ALT/W    - Save the current file and continue editing.
  1014.  
  1015.         ALT/L or
  1016.         ALT/R    - Reload   the   current   file   and   continue  editing,
  1017.                    overwriting any changes made.
  1018.  
  1019.         CTRL-Y or
  1020.         ALT/D    - Delete current line.
  1021.  
  1022.         CTRL-N   - Insert a carriage return  and  leave  cursor  at current
  1023.                    line.
  1024.  
  1025.         CTRL-K-B - Mark block beginnng. Same as the first time you hit F4.
  1026.  
  1027.  
  1028.                    GRASP - Graphical System for Presentation
  1029.                                    Page:  13
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.         CTRL-K-K - Mark block end. Same as the second time you hit F4.
  1037.  
  1038.         CTRL-Q-B - Go to block beginning.
  1039.  
  1040.         CTRL-Q-K - Go to block end.
  1041.  
  1042.         CTRL-K-C - Copy a block. Same as F5.
  1043.  
  1044.         CTRL-K-V - Move a block. Same as F6.
  1045.  
  1046.         CTRL-K-R - Read block at cursor position. Same as F7.
  1047.  
  1048.         CTRL-K-W - Write block. Same as F8.
  1049.  
  1050.         CTRL-K-Y - Delete highlighted block. 
  1051.  
  1052.         CTRL-HOME or
  1053.         CTRL-Q-R - Go to top of file.
  1054.  
  1055.         CTRL-END or
  1056.         CTRL-Q-C - Go to end of file.
  1057.  
  1058.         CTRL-RIGHT ARROW or
  1059.         CTRL-F   - Skip word right.
  1060.  
  1061.         CTRL-LEFT ARROW or
  1062.         CTRL-A   - Skip word left.
  1063.  
  1064.         CTRL-Q-S or
  1065.         HOME     - Go to beginning of line.
  1066.  
  1067.         CTRL-Q-D or
  1068.         END      - Go to end of line.
  1069.  
  1070.         INS      - Turns insert mode on and off.
  1071.  
  1072.         DEL      - Deletes character under cursor and adjusts text.
  1073.  
  1074.         ARROW  KEYS  /  PGUP  / PGDN and Wordstar(tm) 'Diamond' equivalents
  1075.         move cursor around document.
  1076.  
  1077.         Now that you know how to use the editor, let's  see exactly  how to
  1078.         make a demo...
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.                    GRASP - Graphical System for Presentation
  1090.                                    Page:  14
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.                                Simple GRASP Tutorial
  1098.  
  1099.         Loading and displaying a picture:
  1100.  
  1101.         It  is  important  to  understand  that  GRASP  is very much a LINE
  1102.         oriented programming pseudo-language.  It  is  called  this because
  1103.         inter-line  dependencies  have  been  kept to a minimum. In simpler
  1104.         terms, GRASP interprets one line at a time, executes it,  then goes
  1105.         and  gets  the  next  line.  Except  for  a few special cases, what
  1106.         happens on each line is relatively independent of the previous line
  1107.         or the next line. This is important because if you understand this,
  1108.         then creating a GRASP  program  will  be  easier  to  understand in
  1109.         concept.
  1110.  
  1111.         Each line can start with only one of three things:
  1112.  
  1113.         1) A GRASP command. (PRESS F2 to see all the GRASP commands)
  1114.  
  1115.         2) A semicolon - ';'. This indicates the beginning of a comment.
  1116.  
  1117.         3) A  label. This  can be any continuous string of ASCII characters
  1118.         with the exception of space, and must be followed by a colon - ':'.
  1119.  
  1120.         This keeps  the GRASP  interpreter's job  simple. It  either sees a
  1121.         command,  and  immediately  looks  for  possible  parameters,  or a
  1122.         semicolon, in which case  it ignores  the rest  of that  line, or a
  1123.         label, which it puts into a list so it can find it later if needed.
  1124.         Any  variation  from  these  three  options  will  result  in GRASP
  1125.         thinking that what you typed was  a GRASP  command which  it cannot
  1126.         understand, and results in an 'INVALID COMMAND IN LINE XXX' message
  1127.         when you try to execute the program.
  1128.  
  1129.         Usually, you will want to start you GRASP  program with  a comment,
  1130.         like a title of your program or your name, etc. Type:
  1131.  
  1132.         ; DEMO Program for GRASP
  1133.  
  1134.         and press return. You now have written a 1-line GRASP program. 
  1135.  
  1136.         Exciting huh? I'll bet you can't wait for more.
  1137.  
  1138.         The very  first command  in every  GRASP program  should be a VIDEO
  1139.         command which tells GRASP which video mode you want to  use. If you
  1140.         select a  video mode  that is not available on your computer, GRASP
  1141.         will try to understand and tell you so.  If you  get wierd results,
  1142.         or  the  screen  seems  to  go  crazy,  don't worry, just check the
  1143.         reference section of this manual to be sure  you are  using a valid
  1144.         video mode.  For this  tutorial, we  will assume that your computer
  1145.         has an IBM Color Graphics Adapter  or compatible,  and we  will use
  1146.         the standard 4 color 320x200 mode, which GRASP understands as video
  1147.         mode A. Type the  following (exactly  as spelled  below, with upper
  1148.         case):
  1149.  
  1150.                    GRASP - Graphical System for Presentation
  1151.                                    Page:  15
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.         ; DEMO Program for GRASP
  1160.         ;
  1161.         video Q
  1162.  
  1163.         Now press F10 to execute the program. (By the way, all this does is
  1164.         set the video mode and come  back to  the editor.  Not too exciting
  1165.         yet, but we're getting there...)
  1166.  
  1167.         You should get a message that says
  1168.  
  1169.                            Illegal argument(s) at line 3
  1170.                                  File TMPFILE.TXT
  1171.                              Press any Key to Continue
  1172.  
  1173.         Any time you see the message, it means that the command you entered
  1174.         was correct, but one of the arguments you entered was incorrect.
  1175.         Press a key and you will  be returned  back to  the editor,  to the
  1176.         line where  the error  occured. The  problem here  is that  Q is an
  1177.         invalid video mode. Change it to A (which stands for  CGA 320x200 4
  1178.         color mode)  and press  F10 again. Your screen should blink and the
  1179.         you will be put back in the editor.  
  1180.  
  1181.         Now we have named the program and set up a video mode, so it's time
  1182.         to try  out some  graphics commands.  On the distribution disk is a
  1183.         picture named  GRASP.PIC.  This  is  a  4  color  picture  from the
  1184.         CGADEMO.GL file.  Let's load  it into  GRASP and display it using a
  1185.         variety of fades.
  1186.  
  1187.         ; DEMO Program for GRASP
  1188.         ;
  1189.         video A
  1190.         ;
  1191.         pload grasp,1                    ; load picture into buffer #1
  1192.         pfade 0,1,0,0                    ; fade it to the screen using fade
  1193.                                          ;  #0
  1194.         waitkey                           ; wait for a keypress before     
  1195.                                          ;  returning to the editor.
  1196.  
  1197.         now, press F10 and you should see the GRASP.PIC picture  loaded and
  1198.         displayed. 
  1199.  
  1200.         Change  the  first  parameter  of  the  pfade command to any number
  1201.         between 0 and 25 and watch all the different special  effects. Then
  1202.         to slow  things down, try a number like 50 for the third parameter,
  1203.         which is the speed of the fade. Speed  seems to  have no  effect on
  1204.         some fades,  while on others, it makes a lot of difference. This is
  1205.         because of the nature of  each  individual  fade.  To  optimize the
  1206.         performance of GRASP, it was decided that speed would be a relative
  1207.         number, that is, relative to the actual fade.  This way,  each fade
  1208.         may be accurately controlled from its fastest speed to its slowest.
  1209.  
  1210.  
  1211.                    GRASP - Graphical System for Presentation
  1212.                                    Page:  16
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.         Let's do one more command, the  WINDOW command.  Window means don't
  1220.         allow  any  part  of  the  picture  that lies outside of a specific
  1221.         rectangle to be faded to the screen. Add the window command to your
  1222.         demo program as follows:
  1223.  
  1224.         ; DEMO Program for GRASP
  1225.         ;
  1226.         video A
  1227.         ;
  1228.         pload grasp,1                    ; load picture into buffer #1
  1229.         window 0,0,100,100               ; set fade clip window
  1230.         pfade 0,1,0,0                    ; fade it to the screen using fade
  1231.                                          ;  #0
  1232.         waitkey                          ; wait for a keypress before
  1233.                                          ;  returning to the editor.
  1234.  
  1235.         now press F10 and watch the  difference. You  should see  that only
  1236.         the lower  left part  of your picture was actually dissolved to the
  1237.         screen. Change the coordinates of the window command  and watch the
  1238.         results.
  1239.  
  1240.         One  other  note:  The  window  command  can  only  operate on byte
  1241.         boundaries. For most video modes, this means every 8 pixels  in the
  1242.         x  direction.   You  don't   have  to  worry  because  WINDOW  will
  1243.         automatically adjust itself to a byte boundary.
  1244.           
  1245.         This concludes this lesson.  Other  commands  in  GRASP  work  in a
  1246.         similar fashion.  Experiment with them. Just remember to keep track
  1247.         of your video modes and buffers.  You may  also want  to take apart
  1248.         the demo program, CGADEMO.GL using the GLIB.EXE utility and look at
  1249.         the code for more examples.
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.                    GRASP - Graphical System for Presentation
  1273.                                    Page:  17
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.                     Running the library file version - GRASPRT
  1281.  
  1282.  
  1283.         The Library file, or runtime version of the program is identical to
  1284.         the  text  file  version  except  that  the  interpreter  gets  its
  1285.         information from  a library  file instead  of the  current disk and
  1286.         directory. The  GLIB utility  will put all of your .PIC, .CLP, .SET
  1287.         and .TXT files into a library  with the  extension GL.  To run your
  1288.         demo execute the command:
  1289.  
  1290.         GRASPRT <libfile> <textfile>
  1291.  
  1292.         If  the  textfile  is  omitted  from  the  command line, GRASP will
  1293.         execute the first text file it finds in the library.
  1294.  
  1295.         To run the demo that comes with GRASP, type:
  1296.  
  1297.         GRASPRT CGADEMO
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.                    GRASP - Graphical System for Presentation
  1334.                                    Page:  18
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.                      Using the GRASP Graphics Librarian - GLIB
  1342.  
  1343.         The Graphics LIBrarian, GLIB.EXE, is used in the following manner:
  1344.  
  1345.         GLIB [-dstuea] libname [files...]  
  1346.  
  1347.         where the following commands are supported:
  1348.  
  1349.          -d   delete file from library
  1350.          -s   extended file list
  1351.          -t   quick file list
  1352.          -u   update (add) file to library
  1353.          -e   extract file from library
  1354.          -a   extract all files from library
  1355.  
  1356.         For example, if you  wanted to  put all  of the  .PIC files  in the
  1357.         current directory into a library file named MYFILE, you would type:
  1358.  
  1359.         GLIB -u MYFILE *.PIC
  1360.  
  1361.         Or if you wanted to extract GRASP.PIC from the library CGADEMO, you
  1362.         would type:
  1363.  
  1364.         GLIB -e CGADEMO GRASP.PIC
  1365.  
  1366.         Be  sure that all files  needed for  your demo  are in  the library
  1367.         file  before  you  try  to  run  it.  Otherwise,  you may get error
  1368.         messages.
  1369.  
  1370.         NOTE:
  1371.         You cannot use  wild  cards  for  extracting  or  deleting  in this
  1372.         version (1.0)  of GLIB.  However, you may use wild cards for adding
  1373.         to or updating the library.
  1374.  
  1375.         More Examples:
  1376.  
  1377.         GLIB -d DEMO FRED.TXT
  1378.  
  1379.         will delete the file 'fred.txt' from library file DEMO.GL
  1380.  
  1381.         GLIB -e DEMO LOGO.CLP
  1382.  
  1383.         will extract the clipping 'logo.clp' from library file DEMO.GL
  1384.  
  1385.         GLIB -u DEMO MTX.CLP
  1386.  
  1387.         will add/replace the picture 'mtx.pic' to library file DEMO.GL
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.                    GRASP - Graphical System for Presentation
  1395.                                    Page:  19
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.                         This page intentionally left blank
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.                    GRASP - Graphical System for Presentation
  1456.                                    Page:  20
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.                          The commands of GRASP - Detailed
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.                    GRASP - Graphical System for Presentation
  1517.                                    Page:  21
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.                         This page intentionally left blank
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.                    GRASP - Graphical System for Presentation
  1578.                                    Page:  22
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.         BOX                                                            BOX
  1586.  
  1587.  
  1588.         Summary:
  1589.         -------
  1590.  
  1591.         BOX allows you to draw a box on the screen  in the  current drawing
  1592.         color.
  1593.  
  1594.  
  1595.         Syntax:
  1596.         ------
  1597.  
  1598.         BOX startx, starty, endx, endy, <width>
  1599.  
  1600.         where 'startx'  and 'starty'  is the point of one corner of the box
  1601.         and 'endx' and endy'  is the  point of  the opposite  corner of the
  1602.         box. Width  is the  number of  pixels wide  you want the box to be.
  1603.         Width is drawn 'inward' from the original box. 
  1604.  
  1605.  
  1606.         Example:
  1607.         -------
  1608.  
  1609.         BOX 0,0,100,100
  1610.  
  1611.         will draw a box in the  current  drawing  color  from  x=0,  y=0 to
  1612.         x=100, y=100.
  1613.  
  1614.  
  1615.         Comments:
  1616.         --------
  1617.  
  1618.         Transparent mode  does not affect this command. Default width is 1.
  1619.         BOX is not available in text modes.
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.                    GRASP - Graphical System for Presentation
  1639.                                    Page:  23
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.         CFADE                                                        CFADE
  1647.  
  1648.  
  1649.         Summary:
  1650.         -------
  1651.  
  1652.         CFADE allows you to dissolve or fade a clipping to  the screen. You
  1653.         may specify  one of several dissolves, the speed for that dissolve,
  1654.         and a delay after the dissolve. This command  is similar  to PFADE,
  1655.         but applies  to clippings. The same 25 fades that apply to pictures
  1656.         also apply to clippings.
  1657.  
  1658.  
  1659.         Syntax:
  1660.         ------
  1661.  
  1662.         CFADE fade number, x, y, <buffer number>, <speed>, <delay>
  1663.  
  1664.         where 'fade  number' is  the number  of the  fade you  want to use,
  1665.         'buffer number'  is the  clipping buffer  number where the clipping
  1666.         you want to fade has been loaded, 'x' and 'y' are the  location for
  1667.         the clipping  to be  faded, 'speed'  is the  speed of  the fade and
  1668.         'delay' is the time to wait after the  delay. Speed  can be  in the
  1669.         range 0-10000. Check Appendix B for a list of fades.
  1670.  
  1671.  
  1672.         Example:
  1673.         -------
  1674.  
  1675.         CFADE 2,20,40,5,500,1000
  1676.  
  1677.         will fade  the clipping  in buffer 5 using fade 2 at location x=24,
  1678.         y=40 at speed 500, and then  wait 10  seconds. The  delay works the
  1679.         same as using the WAITKEY command. 
  1680.  
  1681.  
  1682.         Comments:
  1683.         --------
  1684.  
  1685.         Note: CFADE only fades byte-width clippings and puts them up at the
  1686.         nearest byte boundary to the x  and  y  specified  in  the command.
  1687.         Deviations may cause unpredictable results. Use the utility WHATCLP
  1688.         to obtain the needed  information  about  your  clippings.  If your
  1689.         clipping  is  not  byte-width,  it  will  fill  the  right  edge to
  1690.         byte-width with white (highest  color available).  Transparent mode
  1691.         does NOT apply to CFADE. 
  1692.  
  1693.         Default values for optional parameters:
  1694.  
  1695.         buffer number: 1
  1696.         speed:         0
  1697.         delay:         0
  1698.  
  1699.                    GRASP - Graphical System for Presentation
  1700.                                    Page:  24
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.         CFREE                                                        CFREE
  1708.  
  1709.  
  1710.         Summary:
  1711.         -------
  1712.  
  1713.         CFREE is  used to free-up a clipping buffer. Sometimes, you may run
  1714.         out of memory and need to clear up  some buffers  you have  full of
  1715.         clippings you have already used.
  1716.  
  1717.  
  1718.         Syntax:
  1719.         ------
  1720.  
  1721.         CFREE buf1, <buf2>, <buf3>...
  1722.  
  1723.         where 'buf1' and other buffers are buffers you want to free-up.
  1724.  
  1725.  
  1726.         Example:
  1727.         -------
  1728.  
  1729.         CFREE 1,4,12
  1730.  
  1731.         will free-up clipping buffers 1, 4 and 12.
  1732.  
  1733.         CFREE 1,-,16
  1734.  
  1735.         will free-up buffers 1 through 16. You MUST use commas or spaces to
  1736.         separate these parameters.
  1737.  
  1738.  
  1739.         Comments:
  1740.         --------
  1741.  
  1742.         This is especially useful in  EGA  16  color  mode  where  space is
  1743.         critical.
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.                    GRASP - Graphical System for Presentation
  1761.                                    Page:  25
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.         CHGCOLOR                                                  CHGCOLOR
  1769.  
  1770.  
  1771.         Summary:
  1772.         -------
  1773.  
  1774.         Chgcolor is  used to  set the color palette registers in IBM EGA 16
  1775.         color mode. On the  EGA, there  are 16  possible colors,  called an
  1776.         'index', and  each of  these color  indices may  be one of 64 color
  1777.         'values'.
  1778.  
  1779.  
  1780.         Syntax:
  1781.         ------
  1782.  
  1783.         CHGCOLOR color index, color value,...
  1784.  
  1785.         where 'color index' refers to the color number  you want  to change
  1786.         in the range 0-15 and 'color value' lies in the range 0-63.
  1787.  
  1788.  
  1789.         Example:
  1790.         -------
  1791.  
  1792.         CHGCOLOR 3,32
  1793.  
  1794.         will change color index 3 to color value 32.
  1795.  
  1796.  
  1797.         Comments:
  1798.         --------
  1799.  
  1800.         Remember, this only works in EGA 16 color modes.
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.                    GRASP - Graphical System for Presentation
  1822.                                    Page:  26
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.         CIRCLE                                                      CIRCLE
  1830.  
  1831.  
  1832.         Summary:
  1833.         -------
  1834.  
  1835.         CIRCLE allows  you to draw a circle or ellipse on the screen in the
  1836.         current drawing color. The  color parameters  must be  specified in
  1837.         pairs, as in the example.
  1838.  
  1839.  
  1840.         Syntax:
  1841.         ------
  1842.  
  1843.         CIRCLE centerx, centery, xradius, <yradius>
  1844.  
  1845.         where 'centerx'  and 'centery' is the center point of the circle or
  1846.         ellipse, xradius' is the radius in the x-direction and 'yradius' is
  1847.         the radius in the y direction.
  1848.  
  1849.  
  1850.         Example:
  1851.         -------
  1852.  
  1853.         CIRCLE 100,100,100,20
  1854.  
  1855.         will draw a circle centered at x=100, y=100 with x radius=100 and y
  1856.         radius=20.
  1857.  
  1858.  
  1859.         Comments:
  1860.         --------
  1861.  
  1862.         Transparent mode does not affect this command. Failure to specify a
  1863.         yradius assumes yradius=xradius and a circle is produced. Note also
  1864.         that circle  here implies  xradius=yradius which,  depending on the
  1865.         aspect  ratio  of  your  current  video  mode, may not be a circle.
  1866.         CIRCLE is not available in text modes.
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.                    GRASP - Graphical System for Presentation
  1883.                                    Page:  27
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.         CLEARSCR                                                  CLEARSCR
  1891.  
  1892.  
  1893.         Summary:
  1894.         -------
  1895.  
  1896.         Clearscr is used to clear the screen to the current drawing color.
  1897.  
  1898.  
  1899.         Syntax:
  1900.         ------
  1901.  
  1902.         CLEARSCR
  1903.  
  1904.  
  1905.         Example:
  1906.         -------
  1907.  
  1908.         CLEARSCR
  1909.  
  1910.         will clear the screen to the current drawing  color (the  color set
  1911.         with the last COLOR command).
  1912.  
  1913.  
  1914.         Comments:
  1915.         --------
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.                    GRASP - Graphical System for Presentation
  1944.                                    Page:  28
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.         CLOAD                                                        CLOAD
  1952.  
  1953.  
  1954.         Summary:
  1955.         -------
  1956.  
  1957.         This command  is used  to load  a clipping into a buffer. There are
  1958.         128 buffers available for  clippings in  GRASP. It  is advised, for
  1959.         memory  reasons,  that  the  user  try  to  manage  using as few as
  1960.         possible. A clipping must be loaded into a buffer before  it can be
  1961.         dissolved or put up onto the screen.
  1962.  
  1963.  
  1964.         Syntax:
  1965.         ------
  1966.  
  1967.         CLOAD clipping, buffer number, <shiftparm>
  1968.  
  1969.         where 'clipping'  is the name of the clipping you want to load (the
  1970.         file name extension is optional) and 'buffer number'  is the number
  1971.         of the  buffer you  want to  load in to. Valid buffer numbers are 1
  1972.         through 128. Buffer 0 is non-existent  for clippings,  and thus, no
  1973.         clipping may  be loaded  into it.  'Shiftparm' indicates whether or
  1974.         not to create the  shifted copies  necessary to  place clippings at
  1975.         non-byte boundaries. Default for shiftparm is 0 or YES. Placing a 1
  1976.         here will cause GRASP  not to  create the  shifted copies  and thus
  1977.         saving memory.  This is useful if you know that you are going to be
  1978.         using CFADE on this clipping and therefore couldn't use the shifted
  1979.         copies anyway.
  1980.  
  1981.  
  1982.         Example:
  1983.         -------
  1984.  
  1985.         CLOAD myclip,5
  1986.  
  1987.         will load the clipping myclip.clp into clipping buffer number 5.
  1988.  
  1989.  
  1990.         Comments:
  1991.         --------
  1992.  
  1993.         If you  do not understand the concept of shifted copies, it is best
  1994.         not to fool around with the shiftparm parameter.  Note also  that a
  1995.         file extension  is not  necessary in  your GRASP file. Drive letter
  1996.         and path may be specified.
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.                    GRASP - Graphical System for Presentation
  2005.                                    Page:  29
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.         COLOR                                                        COLOR
  2013.  
  2014.  
  2015.         Summary:
  2016.         -------
  2017.  
  2018.         COLOR allows you to choose a drawing color.  Drawing color  is used
  2019.         for  drawing  primitives  (such  as  line,  box, circle, or point),
  2020.         transparent mode selection, text  strings and  clearing the screen.
  2021.         Secondary color is used for background color in text mode or shadow
  2022.         color for font styles in graphics modes.
  2023.  
  2024.  
  2025.         Syntax:
  2026.         ------
  2027.  
  2028.         COLOR n1,<n2>
  2029.  
  2030.         where 'n1' is the drawing color and 'n2' is the secondary color.
  2031.  
  2032.  
  2033.         Example:
  2034.         -------
  2035.  
  2036.         COLOR 3,0
  2037.  
  2038.         will set the current  drawing color  to color  3 and  the secondary
  2039.         color to 0.
  2040.  
  2041.  
  2042.         Comments:
  2043.         --------
  2044.  
  2045.         Related  commands  are  LINE,  BOX,  CIRCLE, POINT, TRAN, CLEARSCR,
  2046.         PALETTE, MODE and PFADE. The secondary color is used for the bottom
  2047.         character in  shadow text strings and the background color for text
  2048.         screens. Secondary color defaults to color 0 if not specified.
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.                    GRASP - Graphical System for Presentation
  2066.                                    Page:  30
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.         EXEC                                                          EXEC
  2074.  
  2075.  
  2076.         Summary:
  2077.         -------
  2078.         This command allows you to execute another program from within your
  2079.         GRASP program.  Useful for utility programs, or custom programs you
  2080.         write that provide a function that GRASP does not.
  2081.  
  2082.  
  2083.         Syntax:
  2084.         ------
  2085.  
  2086.         EXEC program, <parameters>
  2087.  
  2088.         where 'program' is the name of the program you wish to execute. You
  2089.         MUST include  path if  it is  in a  different path, and all program
  2090.         names must include the extension. 'Parameters' are any command line
  2091.         parameters you would normally pass to the program.
  2092.  
  2093.  
  2094.         Example:
  2095.         -------
  2096.  
  2097.         EXEC \PAINTLIB\PCPAINT.EXE, /O
  2098.  
  2099.         will execute  pcpaint from  the \paintlib  directory on the current
  2100.         drive passing the /O parameter.
  2101.  
  2102.  
  2103.         Comments:
  2104.         --------
  2105.  
  2106.         You MUST include full path and file extension.
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.                    GRASP - Graphical System for Presentation
  2127.                                    Page:  31
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.         EXIT                                                          EXIT
  2135.  
  2136.  
  2137.         Summary:
  2138.         --------
  2139.  
  2140.         Exit will  cause the  currently running  GRASP program  to quit and
  2141.         return to DOS or the GRASP editor.
  2142.  
  2143.  
  2144.         Syntax:
  2145.         ------
  2146.  
  2147.         EXIT
  2148.  
  2149.  
  2150.         Example:
  2151.         -------
  2152.  
  2153.         EXIT
  2154.  
  2155.         will  cause  the  currently  running GRASP program to terminate and
  2156.         return to DOS or the GRASP editor.
  2157.  
  2158.  
  2159.         Comments:
  2160.         --------
  2161.  
  2162.         If you are running  GRASPRT, EXIT  returns you  to DOS.  If you are
  2163.         running GRASP,  EXIT returns  you to  the editor  or the main menu,
  2164.         depending on how you ran the program.
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.  
  2186.  
  2187.                    GRASP - Graphical System for Presentation
  2188.                                    Page:  32
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.         FFREE                                                        FFREE
  2196.  
  2197.  
  2198.         Summary:
  2199.         -------
  2200.  
  2201.         This command will free up the font buffer  so that  more memory may
  2202.         be available for pictures and clippings.
  2203.  
  2204.  
  2205.         Syntax:
  2206.         ------
  2207.  
  2208.         FFREE
  2209.  
  2210.  
  2211.         Example:
  2212.         -------
  2213.  
  2214.         FFREE
  2215.  
  2216.         will free up the font buffer.
  2217.  
  2218.  
  2219.         Comments:
  2220.         --------
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.                    GRASP - Graphical System for Presentation
  2249.                                    Page:  33
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.         FGAPS                                                        FGAPS
  2257.  
  2258.  
  2259.         Summary:
  2260.         -------
  2261.  
  2262.         This command  allows you  to set the gaps between characters in the
  2263.         text command and also the width of the space character.
  2264.  
  2265.  
  2266.         Syntax:
  2267.         ------
  2268.  
  2269.         FGAPS <char gap, space gap>
  2270.  
  2271.         where 'char gap is the  number  of  pixels  between  characters and
  2272.         'space gap' is the number of pixels wide for the space character.
  2273.  
  2274.  
  2275.         Example:
  2276.         -------
  2277.  
  2278.         FGAPS 3,9
  2279.  
  2280.         will  set  the  inter-character  gap  to  3  pixels  and  the space
  2281.         character to a width of 9 pixels.
  2282.  
  2283.  
  2284.         Comments:
  2285.         --------
  2286.  
  2287.         Note that this has no effect on the TEXT command if you are in TEXT
  2288.         mode. FGAPS  with no parameters resets the gaps to the default gaps
  2289.         for the currently loaded font.
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.                    GRASP - Graphical System for Presentation
  2310.                                    Page:  34
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.         FLOAD                                                        FLOAD
  2318.  
  2319.  
  2320.         Summary:
  2321.         -------
  2322.  
  2323.         This command is used to load in a  character set.  The GRASP system
  2324.         only allows  1 character set in memory at a time. After a character
  2325.         set has been loaded,  TEXT  commands  (see  command  TEXT)  will be
  2326.         performed using the currently loaded font. Applies only to graphics
  2327.         modes.
  2328.  
  2329.  
  2330.         Syntax:
  2331.         ------
  2332.  
  2333.         FLOAD fontname
  2334.  
  2335.         where 'fontname'  is the  name of  the FONTRIX(tm)  or PCPAINT font
  2336.         file you wish to load. File name extensions are optional.
  2337.  
  2338.  
  2339.         Example:
  2340.         -------
  2341.  
  2342.         FLOAD bocklin
  2343.  
  2344.         will load  the FONTRIX(tm)  font bocklin.set into memory for use by
  2345.         the TEXT command.
  2346.  
  2347.  
  2348.         Comments:
  2349.         --------
  2350.  
  2351.         When a font is loaded with FLOAD, the gaps are reset to the default
  2352.         gaps  for  that  font.  So  be  sure  to reset gaps using the FGAPS
  2353.         command if the default gaps aren't adequate. 
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.                    GRASP - Graphical System for Presentation
  2371.                                    Page:  35
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.         FLOAT                                                        FLOAT
  2379.  
  2380.  
  2381.         Summary:
  2382.         -------
  2383.  
  2384.         FLOAT allows you to  animate  a  clipping  or  series  of clippings
  2385.         between any two points on the screen with one command. It
  2386.         is similar  to FLY  except that it performs an exchange with screen
  2387.         data so that the background may be preserved. 
  2388.  
  2389.         Syntax:
  2390.         ------
  2391.  
  2392.         FLOAT startx, starty, endx,  endy, increment,  delay, clip1, clip2,
  2393.         ...clipn
  2394.  
  2395.         where 'startx' and 'starty' indicate the starting point, 'endx' and
  2396.         'endy' indicate  the  ending  point,  'increment'  is  the distance
  2397.         between each  put along  the line, 'delay' is the wait time between
  2398.         each put and 'clip1-clipn' is the list of clippings. 
  2399.  
  2400.  
  2401.         Example:
  2402.         -------
  2403.  
  2404.         FLOAT 0,0,200,200,2,10,1,2,3
  2405.  
  2406.         will 'FLOAT' the clippings 1,2 and  3   in that  order from  0,0 to
  2407.         200,200, skipping  2 pixels between each put, waiting a count of 10
  2408.         between each put. For example, clip 1 will  be put  at 0,0,  clip 2
  2409.         will be  put at  clip 2,2, clip 3 will be put a 4,4, clip 1 will be
  2410.         put at 6,6, clip2 will be put at 8,8, etc.
  2411.  
  2412.  
  2413.         Comments:
  2414.         --------
  2415.  
  2416.         This command differs from FLY in that it  preserves the background.
  2417.         Also note  that the  last operation  it performs  is the swap-back,
  2418.         which restores screen data. This means that if  you want  to have a
  2419.         clipping on  the screen after the FLOAT command, you have to follow
  2420.         the FLOAT with a  PUTUP command.  Selective use  of transparent can
  2421.         yield very interesting results.
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.                    GRASP - Graphical System for Presentation
  2432.                                    Page:  36
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.         FLY                                                            FLY
  2440.  
  2441.  
  2442.         Summary:
  2443.         -------
  2444.  
  2445.         FLY allows you to animate a clipping or series of clippings between
  2446.         any two points on the screen with one command.
  2447.  
  2448.  
  2449.         Syntax:
  2450.         ------
  2451.  
  2452.         FLY startx, starty, endx,  endy,  increment,  delay,  clip1, clip2,
  2453.         ...clipn
  2454.  
  2455.         where 'startx' and 'starty' indicate the starting point, 'endx' and
  2456.         'endy' indicate  the  ending  point,  'increment'  is  the distance
  2457.         between each  put along  the line, 'delay' is the wait time between
  2458.         each put and  'clip1-clipn'  is  the  list  of  clippings.  You may
  2459.         animate up to 10 clippings.
  2460.  
  2461.  
  2462.         Example:
  2463.         -------
  2464.  
  2465.         FLY 0,0,200,200,2,10,1,2,3
  2466.  
  2467.         will  'fly'  the  clippings  1,2  and  3  in that order from 0,0 to
  2468.         200,200, skipping 2 pixels between each put, waiting a count  of 10
  2469.         between each  put. For  example, clip  1 will be put at 0,0, clip 2
  2470.         will be put at clip 2,2, clip 3 will be put a  4,4, clip  1 will be
  2471.         put at 6,6, clip2 will be put at 8,8, etc.
  2472.  
  2473.  
  2474.         Comments:
  2475.         --------
  2476.          
  2477.         Selective use  of slightly larger than necessary clippings (to wipe
  2478.         out  the    previous  put)  and  transparent  mode  can  yield very
  2479.         interesting results.
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.                    GRASP - Graphical System for Presentation
  2493.                                    Page:  37
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.         FSTYLE                                                       FSTYLE
  2501.  
  2502.  
  2503.         Summary:
  2504.         -------
  2505.  
  2506.         This command allows you to choose a style for the characters in the
  2507.         TEXT command. Styles are as follows:
  2508.  
  2509.         style #    style
  2510.         -------    -----
  2511.            0       Default, normal letters
  2512.            1       Bold up.
  2513.            2       Bold right.
  2514.            3       Shadow up right.
  2515.            4       Shadow up left.
  2516.            5       Shadow up right 2 pixels.
  2517.            6       Shadow up left 2 pixels.
  2518.  
  2519.  
  2520.         Syntax:
  2521.         ------
  2522.  
  2523.         FSTYLE fstyle
  2524.  
  2525.         where fstyle is the number of the desired style.
  2526.  
  2527.  
  2528.         Example:
  2529.         -------
  2530.  
  2531.         FSTYLE 4
  2532.  
  2533.         will set the text style to shadow up left.
  2534.  
  2535.  
  2536.         Comments:
  2537.         --------
  2538.         Use of the command with no parameters will default to style 0.
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.                    GRASP - Graphical System for Presentation
  2554.                                    Page:  38
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.         GOSUB                                                        GOSUB
  2562.  
  2563.  
  2564.         Summary:
  2565.         -------
  2566.  
  2567.         This command allows the transfer of  control during  execution of a
  2568.         GRASP program  to a  sub-program defined  elsewhere in the program.
  2569.         This is similar to a BASIC gosub command. The subprogram is defined
  2570.         by a  label at the beginning, and a RETURN command at the end. When
  2571.         the  RETURN  is  encountered,  control  is  returned  to  the  line
  2572.         following the line where the GOSUB ocurred.
  2573.  
  2574.  
  2575.         Syntax:
  2576.         ------
  2577.  
  2578.         GOSUB subroutine
  2579.  
  2580.         where 'subroutine'  is a sub-program defined elsewhere in the GRASP
  2581.         program.
  2582.  
  2583.  
  2584.         Example:
  2585.         -------
  2586.  
  2587.         GOSUB myprog
  2588.  
  2589.         will transfer control to  the  sub-program  'myprog'.  Control will
  2590.         return when the statement RETURN in encountered in the sub-program.
  2591.  
  2592.  
  2593.         Comments:
  2594.         --------
  2595.  
  2596.         Also see command RETURN.
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.                    GRASP - Graphical System for Presentation
  2615.                                    Page:  39
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.         GOTO                                                          GOTO
  2623.  
  2624.  
  2625.         Summary:
  2626.         -------
  2627.  
  2628.         This command  allows you  to transfer control of a GRASP program to
  2629.         another portion of the program,  similar  to  the  same  command in
  2630.         BASIC. You  must first  define a  label at the point you want to go
  2631.         to. Labels are defined  as any  string of  less than  16 characters
  2632.         terminated by a colon (:).
  2633.  
  2634.  
  2635.         Syntax:
  2636.         ------
  2637.  
  2638.         GOTO label
  2639.  
  2640.         where 'label' is defined somewhere else in the program.
  2641.  
  2642.  
  2643.         Example:
  2644.         -------
  2645.  
  2646.         GOTO here
  2647.  
  2648.         will  transfer  control  to  the  line which begins with the string
  2649.         'here:'. There may only be one  label of  a particular  name in one
  2650.         GRASP program. 
  2651.  
  2652.  
  2653.         Comments:
  2654.         --------
  2655.  
  2656.         You may have up to 512 labels in a GRASP program.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.                    GRASP - Graphical System for Presentation
  2676.                                    Page:  40
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.         IFKEY                                                        IFKEY
  2684.  
  2685.  
  2686.         Summary:
  2687.         -------
  2688.  
  2689.         IFKEY allows  conditional branching by means of an implied goto. If
  2690.         the key indicated in  the  command  matches  the  last  key pressed
  2691.         during a waitkey command, branching occurs.
  2692.  
  2693.  
  2694.         Syntax:
  2695.         ------
  2696.  
  2697.         IFKEY key label
  2698.  
  2699.         where  key  is  the  key  code  to  compare to and label is a label
  2700.         defined elsewhere in the program.
  2701.  
  2702.  
  2703.         Example:
  2704.         -------
  2705.  
  2706.         IFKEY 1 part1
  2707.  
  2708.         means that if, during  the last  waitkey command,  the '1'  key was
  2709.         pressed, goto label "PART1".
  2710.  
  2711.  
  2712.         Comments:
  2713.         --------
  2714.  
  2715.         Valid keys are all numeric and letter keys, F1-F10, UP, DN, LF, RT,
  2716.         PGUP, PGDN, HOME, END.
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.                    GRASP - Graphical System for Presentation
  2737.                                    Page:  41
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.         LINE                                                          LINE
  2745.  
  2746.  
  2747.         Summary:
  2748.         -------
  2749.  
  2750.         LINE allows you to draw a single pixel width line on the  screen in
  2751.         the current drawing color.
  2752.  
  2753.  
  2754.         Syntax:
  2755.         ------
  2756.  
  2757.         LINE startx, starty, endx, endy
  2758.  
  2759.         where 'startx'  and 'starty' is the location for the first point in
  2760.         the line and 'endx' and 'endy' is the  location for  the last point
  2761.         in the line.
  2762.  
  2763.  
  2764.         Example:
  2765.         -------
  2766.  
  2767.         LINE 0,0,100,100
  2768.  
  2769.         will draw  a line  in the  current drawing  color from  x=0, y=0 to
  2770.         x=100, y=100.
  2771.  
  2772.  
  2773.         Comments:
  2774.         --------
  2775.  
  2776.         Transparent  mode  does  not  affect  this  command.  LINE  is  not
  2777.         available in text modes.
  2778.  
  2779.  
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.                    GRASP - Graphical System for Presentation
  2798.                                    Page:  42
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.         LINK                                                          LINK
  2806.  
  2807.  
  2808.         Summary:
  2809.         -------
  2810.  
  2811.         This command  is used  to link to another text command file. IF you
  2812.         wish to have several special  effects,  and  for  editing purposes,
  2813.         keep them  is separate  ASCII files, you may link them during GRASP
  2814.         run time with this command.
  2815.  
  2816.  
  2817.         Syntax:
  2818.         ------
  2819.  
  2820.         LINK txtfile
  2821.  
  2822.         where 'txtfile' is  the  name  of  the  command  file  you  wish to
  2823.         execute.  File  name  extensions  are  not  required,  but all text
  2824.         command files must have an extension of txt.
  2825.  
  2826.  
  2827.         Example:
  2828.         -------
  2829.  
  2830.         LINK race
  2831.  
  2832.         will  link  to  the  text  command  file  'race.txt'  and  continue
  2833.         executing.
  2834.  
  2835.  
  2836.         Comments:
  2837.         --------
  2838.  
  2839.         Since this  command requires  interpretation of the command itself,
  2840.         the loading of a  new file,  and the  interpretation of  the second
  2841.         file, it has a tendency to slow things down. It is recommended that
  2842.         all commands be put into  one  file  before  giving  a presentation
  2843.         using GRASP.  This command  is useful during development, or if you
  2844.         have stored several effects  from previous  demonstrations and want
  2845.         to link them together.
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.                    GRASP - Graphical System for Presentation
  2859.                                    Page:  43
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.         LOOP                                                          LOOP
  2867.  
  2868.  
  2869.         Summary:
  2870.         -------
  2871.  
  2872.         This  command  causes  the  GRASP  interpreter  to loop back to the
  2873.         previous mark. This will happen n number of  times, where  n is the
  2874.         number specified in the previous MARK command.
  2875.  
  2876.  
  2877.         Syntax:
  2878.         ------
  2879.  
  2880.         LOOP
  2881.  
  2882.  
  2883.         Example:
  2884.         -------
  2885.  
  2886.         LOOP
  2887.  
  2888.         will loop to previous mark.
  2889.  
  2890.  
  2891.         Comments:
  2892.         --------
  2893.  
  2894.         MARK/LOOP pairs may be nested up to 16 levels deep.
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.                    GRASP - Graphical System for Presentation
  2920.                                    Page:  44
  2921.  
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927.         MARK                                                         MARK
  2928.  
  2929.  
  2930.         Summary:
  2931.         -------
  2932.  
  2933.         This command  is used to mark a position which will be the top of a
  2934.         loop. Coupled with the LOOP command, MARK allows you to  repeat the
  2935.         same steps in your GRASP command file a specified number of times.
  2936.  
  2937.  
  2938.         Syntax:
  2939.         ------
  2940.  
  2941.         MARK xxx
  2942.  
  2943.         where 'xxx'  is the  number of  times you wish to loop back to this
  2944.         mark.
  2945.  
  2946.  
  2947.         Example:
  2948.         -------
  2949.  
  2950.         MARK 10
  2951.  
  2952.         will place a mark at this  point  so  that  the  next  time  a LOOP
  2953.         command is  encountered, the  program will loop back to this point.
  2954.         This process will occur ten times.
  2955.  
  2956.  
  2957.         Comments:
  2958.         --------
  2959.  
  2960.         MARK/LOOP pairs may be  nested up  to 16  levels deep.  The maximum
  2961.         number of times you can loop is 65535.
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.                    GRASP - Graphical System for Presentation
  2981.                                    Page:  45
  2982.  
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.         MODE                                                          MODE
  2989.  
  2990.  
  2991.         Summary:
  2992.         -------
  2993.  
  2994.         Mode is used in IBM CGA 4 color mode and IBM CGA 2 color mode only.
  2995.         It is used to set the palette and border color in these modes. 
  2996.  
  2997.  
  2998.         Syntax:
  2999.         ------
  3000.  
  3001.         MODE border color, palette
  3002.  
  3003.         where 'border color' refers to the  background color  in IBM  CGA 4
  3004.         color mode  and foreground  color in  IBM CGA 2 color mode. 'Border
  3005.         color' can be in  the range  0-15. Palette  affects only  IBM CGA 4
  3006.         color mode  and is  in the range 0-5. Refer to the following tables
  3007.         for specifics.
  3008.  
  3009.  
  3010.         Border                                 Color Table
  3011.         Color    Color       Palette   1            2              3
  3012.         -----    -----       ------- -----------------------------------
  3013.           0      Black          0    Green        Red             Brown
  3014.           1      Blue           1    Cyan         Magenta         White
  3015.           2      Green          2    Cyan         Red             White
  3016.           3      Cyan           3    Bright Green Bright Red      Yellow
  3017.           4      Red            4    Bright Cyan  Bright Magenta  White
  3018.           5      Magenta        5    Bright Cyan  Bright Red      White
  3019.           6      Brown       -------------------------------------------
  3020.           7      Grey 
  3021.           8      Dark Grey (Bright Black)
  3022.           9      Bright Blue
  3023.          10      Bright Green
  3024.          11      Bright Cyan
  3025.          12      Bright Red
  3026.          13      Bright Magenta
  3027.          14      Yellow (Bright Brown)
  3028.          15      White (Bright Grey)
  3029.  
  3030.  
  3031.         In the above Palette  table,  color  0  is  the  currently selected
  3032.         Border Color.
  3033.           
  3034.  
  3035.         Example:
  3036.         -------
  3037.  
  3038.         Mode 1,4
  3039.  
  3040.  
  3041.                    GRASP - Graphical System for Presentation
  3042.                                    Page:  46
  3043.  
  3044.  
  3045.  
  3046.  
  3047.  
  3048.  
  3049.         will  yield  the  following:  (Assuming  we  are in IBM CGA 4 color
  3050.         mode), border color is blue (Drawing Color 0), and the palette will
  3051.         be bright  cyan, bright magenta, and white. (Drawing colors 1,2 and
  3052.         3, respectively) in IBM CGA 4 color mode. In IBM CGA 2  color mode,
  3053.         The foreground color will be blue.
  3054.  
  3055.  
  3056.         Comments:
  3057.         --------
  3058.  
  3059.         This command  was intended  for use only in IBM CGA 4 color and IBM
  3060.         CGA 2 color modes. Use in  any other  mode may  result in  an error
  3061.         message. 
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.                    GRASP - Graphical System for Presentation
  3103.                                    Page:  47
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.         NOISE                                                        NOISE
  3111.  
  3112.  
  3113.         Summary:
  3114.         -------
  3115.  
  3116.         NOISE allows you to make music in GRASP. By specifying starting and
  3117.         ending frequencies, as well as  a  duration,  you  can  make single
  3118.         notes, or complex sounds.
  3119.  
  3120.  
  3121.         Syntax:
  3122.         ------
  3123.  
  3124.         NOISE startfreq, endfreq, duration
  3125.  
  3126.         where 'startfreq'  and 'startfreq' are the starting frequencies for
  3127.         the noise and 'duration' is the overall length of the noise.
  3128.  
  3129.  
  3130.         Example:
  3131.         -------
  3132.  
  3133.         NOISE 440,440,100
  3134.  
  3135.         will play the note with a frequency 440 for duration 100.
  3136.  
  3137.  
  3138.         Comments:
  3139.         --------
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.                    GRASP - Graphical System for Presentation
  3164.                                    Page:  48
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.         OFFSET                                                      OFFSET
  3172.  
  3173.  
  3174.         Summary:
  3175.         -------
  3176.  
  3177.         The  OFFSET  command  allows  you  to  treat  coordinates  in other
  3178.         commands  (like  putup,  line,  box,  cfade,  etc...)  as  relative
  3179.         coordinates rather than absolute. If the OFFSET is set to 0,0, then
  3180.         the coordinates you enter in the other commands are relative to the
  3181.         screen as a whole  which appears  to be  absolute. This  command is
  3182.         used when  you want to repeat a series of operations but don't want
  3183.         to have to alter all the  coordinates in  order to  use a different
  3184.         region of the screen.
  3185.  
  3186.  
  3187.         Syntax:
  3188.         ------
  3189.  
  3190.         OFFSET x,y
  3191.  
  3192.         where 'x' and 'y' are the x and y offset values.
  3193.  
  3194.  
  3195.         Example:
  3196.         -------
  3197.  
  3198.         OFFSET 40,32
  3199.  
  3200.         will set  the offset  to x=40, y=32. This means that if you specify
  3201.         that you want a line drawn from 0,0 to 10,10, it will actually draw
  3202.         it from 40,32 to 50,42. In other words, the offset values are added
  3203.         to the coordinate data you type in the command.
  3204.  
  3205.  
  3206.         Comments:
  3207.         --------
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.                    GRASP - Graphical System for Presentation
  3225.                                    Page:  49
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.         PALETTE                                                    PALETTE
  3233.  
  3234.  
  3235.         Summary:
  3236.         -------
  3237.  
  3238.         Palette is used to set the current palette to that of the specified
  3239.         picture  which  has  been  loaded  into  a buffer. This sets the 16
  3240.         colors out of 64 on  EGA  16  color  modes  and  the border-palette
  3241.         combination of CGA 4 color mode.
  3242.  
  3243.  
  3244.         Syntax:
  3245.         ------
  3246.  
  3247.         PALETTE buffer number
  3248.  
  3249.         Where  'buffer  number'  is  the  number of the buffer in which the
  3250.         picture resides.
  3251.  
  3252.  
  3253.         Example:
  3254.         -------
  3255.  
  3256.         PALETTE 2
  3257.  
  3258.         will set the current palette to  the palette  used for  the picture
  3259.         which was loaded into buffer 2 with the PLOAD command.
  3260.  
  3261.  
  3262.         Comments:
  3263.         --------
  3264.  
  3265.         This command  was intended  for use  in EGA 16 color mode and CGA 4
  3266.         color  mode  only.  Use  in  other  modes  may  cause unpredictable
  3267.         results. Use with caution.
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.                    GRASP - Graphical System for Presentation
  3286.                                    Page:  50
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.         PAN                                                           PAN
  3294.  
  3295.  
  3296.         Summary:
  3297.         -------
  3298.  
  3299.         This  command  allows  you  to  perform  a  hardware pan if you are
  3300.         operating in one of the EGA modes. If the picture  you want  to pan
  3301.         around on  is larger  than a screen then the following rules apply:
  3302.         1) You MUST use PFADE number 0 to put up  the picture,  2) when you
  3303.         are  finished  panning  and  scrolling, you MUST PFREE the picture,
  3304.         clear the screen with CLEARSCR, then do a RESETSCR before using any
  3305.         other pictures.  This is so that the EGA will be able to keep track
  3306.         of which picture you are using  and how  to best  display it. Also,
  3307.         sequences  of   PAN  commands  should  always  return  you  to  the
  3308.         coordinate 0,0 when you are done. Think of  the picture  as being a
  3309.         very large  screen with the upper left corner being coordinate 0,0.
  3310.         Pan  then  allows  you  to  change  upper  left  corner  to  be any
  3311.         coordinate in the valid coordinate space.
  3312.  
  3313.  
  3314.         Syntax:
  3315.         ------
  3316.  
  3317.         PAN x0,y0,x1,y1,buffer
  3318.  
  3319.         where 'x0',  'y0' is  the starting coordinate for panning and 'x1',
  3320.         'y1' is the ending coordinate. 'Buffer' is the  picture buffer that
  3321.         the command  will look into to get real picture coordinates and set
  3322.         the EGA display modes to coincide to.
  3323.  
  3324.  
  3325.         Example:
  3326.         -------
  3327.  
  3328.         PAN 0,0,100,100,1
  3329.         PAN 100,100,0,0,1
  3330.  
  3331.         will smoothly pan the screen diagonally from the  upper left corner
  3332.         to 100,100 and back again.
  3333.  
  3334.  
  3335.         Comments:
  3336.         --------
  3337.  
  3338.         This  is  a  complicated  command  and requires some thought to use
  3339.         effectively. Be careful.
  3340.  
  3341.         CAUTION: It is imperative that you free the oversize picture buffer
  3342.         BEFORE you perform the CLEARSCR and RESETSCR functions! 
  3343.  
  3344.  
  3345.  
  3346.                    GRASP - Graphical System for Presentation
  3347.                                    Page:  51
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.         PFADE                                                        PFADE
  3355.  
  3356.         Summary:
  3357.         -------
  3358.  
  3359.         Pfade is the heart of GRASP. It allows you to dissolve a picture to
  3360.         the screen. You may specify one of several dissolves, the speed for
  3361.         that dissolve, and a delay after the dissolve.
  3362.  
  3363.  
  3364.         Syntax:
  3365.         ------
  3366.  
  3367.         PFADE fade number, buffer number, speed, delay
  3368.  
  3369.         where 'fade  number' is  the number  of the  fade you  want to use,
  3370.         'buffer number' is the picture buffer number where  the picture you
  3371.         want to  fade has been loaded, 'speed' is the speed of the fade and
  3372.         'delay' is the time to wait after the  delay. Speed  can be  in the
  3373.         range 0-10000. Check Appendix B for a list of fades.
  3374.  
  3375.  
  3376.         Example:
  3377.         -------
  3378.  
  3379.         PFADE 12,1,500,1000
  3380.  
  3381.         will fade  the picture  in buffer  1 using fade 12 at speed 500 and
  3382.         then wait 1000. The delay  works  the  same  as  using  the WAITKEY
  3383.         command. 
  3384.  
  3385.  
  3386.         Comments:
  3387.         --------
  3388.  
  3389.         The first  25 fades in GRASP are the same in all video modes. Fades
  3390.         beyond 25 may be mode  specific  and  must  be  used  with caution.
  3391.         Specifying buffer  0 will  cause a  blank screen of current drawing
  3392.         color to  be generated  and faded  to the  screen. Transparent mode
  3393.         does NOT apply to PFADE.
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.                    GRASP - Graphical System for Presentation
  3408.                                    Page:  52
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.         PFREE                                                        PFREE
  3416.  
  3417.  
  3418.         Summary:
  3419.         -------
  3420.  
  3421.         PFREE is  used to  free-up a picture buffer. Sometimes, you may run
  3422.         out of memory and need to clear up  some buffers  you have  full of
  3423.         pictures you have already used.
  3424.  
  3425.  
  3426.         Syntax:
  3427.         ------
  3428.  
  3429.         PFREE buf1, buf2, buf3...
  3430.  
  3431.         where 'buf1' and other buffers are buffers you want to free-up.
  3432.  
  3433.  
  3434.         Example:
  3435.         -------
  3436.  
  3437.         PFREE 1,2
  3438.  
  3439.         will free-up picture buffers 1 and 2.
  3440.  
  3441.  
  3442.         Comments:
  3443.         --------
  3444.  
  3445.         This  is  especially  useful  in  EGA  16 color mode where space is
  3446.         critical.
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.                    GRASP - Graphical System for Presentation
  3469.                                    Page:  53
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.         PLOAD                                                        PLOAD
  3477.  
  3478.  
  3479.         Summary:
  3480.         -------
  3481.  
  3482.         This command is used to load a picture into a buffer. There are  16
  3483.         buffers available  for pictures in GRASP. It is advised, for memory
  3484.         reasons, that the user try  to  manage  using  only  one  buffer. A
  3485.         picture must  be loaded  into a  buffer before  it can be dissolved
  3486.         onto the screen.
  3487.  
  3488.  
  3489.         Syntax:
  3490.         ------
  3491.  
  3492.         PLOAD picture,buffer number
  3493.  
  3494.         where 'picture' is the name of  the picture  you want  to load (the
  3495.         file name  extension is optional) and 'buffer number' is the number
  3496.         of the buffer you want to load in  to. Valid  buffer numbers  are 1
  3497.         through 16.  Buffer 0  is a dummy buffer used for solid color wipes
  3498.         and changes, and thus, no picture may be loaded into it.
  3499.  
  3500.  
  3501.         Example:
  3502.         -------
  3503.  
  3504.         PLOAD mypic,1
  3505.  
  3506.         will load the picture myfile.pic into picture buffer number 1.
  3507.  
  3508.  
  3509.         Comments:
  3510.         --------
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.                    GRASP - Graphical System for Presentation
  3530.                                    Page:  54
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.         POINT                                                        POINT
  3538.  
  3539.  
  3540.         Summary:
  3541.         -------
  3542.  
  3543.         POINT allows you to draw  a  single  pixel  on  the  screen  in the
  3544.         current drawing  color. If  a second  point is  indicated, a random
  3545.         point  is  drawn  in  the  rectangular  region  defined  by  the  4
  3546.         coordinates.
  3547.  
  3548.  
  3549.         Syntax:
  3550.         ------
  3551.  
  3552.         POINT startx, starty, <endx, endy>
  3553.  
  3554.         where  'startx'  and  'starty'  is  the  location for the point and
  3555.         'endx' and 'endy' define the region for randomization.
  3556.  
  3557.  
  3558.         Example:
  3559.         -------
  3560.  
  3561.         POINT 50,50
  3562.  
  3563.         will draw a point in the current drawing color at x=50, y=50.
  3564.  
  3565.         POINT 100,100,150,150
  3566.  
  3567.         will draw a random point in the region defined by 100,100,150,150.
  3568.  
  3569.  
  3570.         Comments:
  3571.         --------
  3572.          
  3573.         Transparent mode does not affect this command.
  3574.  
  3575.  
  3576.  
  3577.  
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.  
  3588.  
  3589.  
  3590.                    GRASP - Graphical System for Presentation
  3591.                                    Page:  55
  3592.  
  3593.  
  3594.  
  3595.  
  3596.  
  3597.  
  3598.         PUTUP                                                        PUTUP
  3599.  
  3600.  
  3601.         Summary:
  3602.         -------
  3603.  
  3604.         PUTUP allows you to  place  a  clipping  on  the  screen.  PUTUP is
  3605.         similar to  CFADE 0,  but allows  placement at any x and y location
  3606.         and supports transparent mode.
  3607.  
  3608.  
  3609.         Syntax:
  3610.         ------
  3611.  
  3612.         PUTUP x ,y, <buffer number>, <delay>
  3613.  
  3614.         where 'x' and 'y' are the location where  the lower  left corner of
  3615.         the clipping will be placed, 'buffer number' is the clipping buffer
  3616.         number where the clipping you want to put  up resides  and delay is
  3617.         the time to wait after the putup in hundredths of a second.
  3618.  
  3619.  
  3620.         Example:
  3621.         -------
  3622.  
  3623.         PUTUP 25,50,1,1000
  3624.  
  3625.         will put  the clipping  in buffer  1 up on the screen at x=25, y=50
  3626.         and then wait for time 1000 (10 seconds). Remember that the x and y
  3627.         coordinates correspond  to the  current video mode. Exceeding these
  3628.         coordinates may result in an error message.
  3629.  
  3630.  
  3631.         Comments:
  3632.         --------
  3633.  
  3634.         Also see CFREE.
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.                    GRASP - Graphical System for Presentation
  3652.                                    Page:  56
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.         RESETSCR                                                   RESETSCR
  3660.  
  3661.  
  3662.         Summary:
  3663.         -------
  3664.  
  3665.         This command is used to reset  the virtual  screen back  to display
  3666.         screen size after a PAN command with a larger-than-screen picture.
  3667.  
  3668.  
  3669.         Syntax:
  3670.         ------
  3671.  
  3672.         RESETSCR
  3673.  
  3674.  
  3675.         Example:
  3676.         -------
  3677.  
  3678.         RESETSCR 
  3679.  
  3680.         will reset the virtual screen image.
  3681.  
  3682.  
  3683.         Comments:
  3684.         --------
  3685.  
  3686.         Works only with EGA modes and PAN command.
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.                    GRASP - Graphical System for Presentation
  3713.                                    Page:  57
  3714.  
  3715.  
  3716.  
  3717.  
  3718.  
  3719.  
  3720.         RETURN                                                       RETURN
  3721.  
  3722.  
  3723.         Summary:
  3724.         -------
  3725.  
  3726.         This command  causes execution  of the  current sub-program to halt
  3727.         and return control to the calling program.
  3728.  
  3729.  
  3730.         Syntax:
  3731.         ------
  3732.  
  3733.         RETURN
  3734.  
  3735.  
  3736.         Example:
  3737.         -------
  3738.  
  3739.         RETURN
  3740.  
  3741.         will return control to calling program.
  3742.  
  3743.  
  3744.         Comments:
  3745.         --------
  3746.  
  3747.         Also see command GOSUB.
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.                    GRASP - Graphical System for Presentation
  3774.                                    Page:  58
  3775.  
  3776.  
  3777.  
  3778.  
  3779.  
  3780.  
  3781.         SETCOLOR                                                  SETCOLOR
  3782.  
  3783.  
  3784.         Summary:
  3785.         -------
  3786.  
  3787.         Setcolor is used to set the color palette  registers in  IBM EGA 16
  3788.         color modes.  On the  EGA, there  are 16 possible colors, called an
  3789.         'index', and each of  these color  indices may  be one  of 64 color
  3790.         'values'. SETCOLOR  differs from CHGCOLOR in that SETCOLOR sets all
  3791.         16 color  indices  at  once.  This  is  faster  and  is  useful for
  3792.         animation effects.
  3793.  
  3794.  
  3795.         Syntax:
  3796.         ------
  3797.  
  3798.         SETCOLOR color value 1, color value 2, ... color value 16
  3799.  
  3800.         where 'color value n' lies in the range 0-63.
  3801.  
  3802.  
  3803.         Example:
  3804.         -------
  3805.  
  3806.         SETCOLOR 3,32,23,53,12,11,10,21,35,2,4,8,30,40,61,63
  3807.  
  3808.         will  set  the  current  palette  registers  to the 16 color values
  3809.         specified.
  3810.  
  3811.  
  3812.         Comments:
  3813.         --------
  3814.  
  3815.         Remember, this only works  in EGA  16 color  modes and  requires an
  3816.         Enhanced Color Display (ECD).
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.  
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.                    GRASP - Graphical System for Presentation
  3835.                                    Page:  59
  3836.  
  3837.  
  3838.  
  3839.  
  3840.  
  3841.  
  3842.         TEXT                                                          TEXT
  3843.  
  3844.  
  3845.         Summary:
  3846.         -------
  3847.  
  3848.         TEXT allows  you to put-up a string of text in the font loaded with
  3849.         FLOAD in the current drawing color.
  3850.  
  3851.  
  3852.         Syntax:
  3853.         ------
  3854.  
  3855.         TEXT x, y, string, <delay>
  3856.  
  3857.         where 'x' and 'y' is the location of the lower  left corner  of the
  3858.         first character in the string, 'string' is the string to put up and
  3859.         'delay' is the time  to wait  after the  put-up in  hundredths of a
  3860.         second.
  3861.  
  3862.  
  3863.         Example:
  3864.         -------
  3865.  
  3866.         TEXT 4,4,"This is a text string..."
  3867.  
  3868.         will put  the string  indicated between  the quotes up at x=4, y=4,
  3869.         using the current drawing color.
  3870.  
  3871.  
  3872.         Comments:
  3873.         --------
  3874.  
  3875.         The string to be put must be in double quotes.
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890.  
  3891.  
  3892.  
  3893.  
  3894.  
  3895.                    GRASP - Graphical System for Presentation
  3896.                                    Page:  60
  3897.  
  3898.  
  3899.  
  3900.  
  3901.  
  3902.  
  3903.         TRAN                                                          TRAN
  3904.  
  3905.  
  3906.         Summary:
  3907.         -------
  3908.  
  3909.         TRAN allows you to set transparent mode on  or off,  and to specify
  3910.         which  colors  to  make  transparent.  This  is used for overlaying
  3911.         objects or floating objects across complex backgrounds.
  3912.  
  3913.  
  3914.         Syntax:
  3915.         ------
  3916.  
  3917.         TRAN on/off, color1, color2,...colorn
  3918.  
  3919.         where 'on/off' specifies whether  you want  transparent mode turned
  3920.         on or  off and color1-colorn indicate which colors you want to make
  3921.         transparent. Color1-colorn may have the values 0 to  maxcolor where
  3922.         maxcolor  is  the  highest  color  number available in your current
  3923.         video mode.
  3924.  
  3925.  
  3926.         Example:
  3927.         -------
  3928.  
  3929.         TRAN on 2,14
  3930.  
  3931.         will turn  transparent  mode  on  and  make  the  colors  2  and 14
  3932.         transparent.
  3933.  
  3934.         TRAN off
  3935.  
  3936.         will turn transparent mode off.
  3937.  
  3938.  
  3939.         Comments:
  3940.         --------
  3941.  
  3942.         If you  turn transparent mode on and off, the next time you turn it
  3943.         on, you must re-specify  which colors  you want  to be transparent.
  3944.         Transparent does not work in EGA 16 color modes.
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.                    GRASP - Graphical System for Presentation
  3957.                                    Page:  61
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.         VIDEO                                                        VIDEO
  3965.  
  3966.  
  3967.         Summary:
  3968.         -------
  3969.  
  3970.         Video is  used to  set the video mode. Video should be used  at the
  3971.         beginning of the  GRASP  text  file.  Video  modes  may  be changed
  3972.         during   the  demo, but caution is advised. Damage may be done to a
  3973.         monitor if the wrong video mode is requested  for your  system. The
  3974.         default video mode is A, (see table below).
  3975.  
  3976.  
  3977.         Syntax:
  3978.         ------
  3979.  
  3980.         VIDEO vidmode
  3981.  
  3982.         where 'vidmode' is one of the following...
  3983.  
  3984.                     Maximum       Picture         Memory
  3985.         Vidmode    Resolution   # of Colors     Requirement
  3986.         --------------------------------------------------------
  3987.            0         40x25          16         2K (IBM 40 column text)
  3988.            1         80x25          16         4K (IBM 80 column text)
  3989.            2         80x25          2          4K (IBM 80 column text)
  3990.            A        320x200         4         16K (IBM CGA)
  3991.            B        320x200         16        32K (IBM PCjr/STB)
  3992.            C        640x200         2         16K (IBM CGA)
  3993.            D        640x200       16/64       64K (IBM EGA)
  3994.            E        640x350         2         32K (IBM EGA monochrome)
  3995.            F        640x350         4         64K (IBM EGA)
  3996.            G        640x350       16/64      128K (IBM EGA)
  3997.            H        720x348         2         32K (Hercules monochrome)
  3998.            I        320x200         16        32K (Plantronics/AST CGP)
  3999.            J        320x200         16        32K (IBM EGA)
  4000.  
  4001.         These modes,  (with the  exception of the text modes) correspond to
  4002.         PCPAINT video modes.
  4003.  
  4004.  
  4005.         Example:
  4006.         -------
  4007.  
  4008.         VIDEO G
  4009.  
  4010.         Will set up GRASP to  use  the  high  resolution  mode  of  the EGA
  4011.         adapter in 16 out of 64 colors.
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.                    GRASP - Graphical System for Presentation
  4018.                                    Page:  62
  4019.  
  4020.  
  4021.  
  4022.  
  4023.  
  4024.  
  4025.         Comments:
  4026.         --------
  4027.  
  4028.         Memory requirement in the table above is the approximate amount  of
  4029.         memory required for the buffer to hold EACH picture you load in for
  4030.         use. Also,  pay attention  to the  size of the screen in each video
  4031.         mode. Attempting to FADE  pictures other  that this  size may yield
  4032.         unpredictable results.  The exception to this is when using the PAN
  4033.         command on an EGA.
  4034.  
  4035.  
  4036.  
  4037.  
  4038.  
  4039.  
  4040.  
  4041.  
  4042.  
  4043.  
  4044.  
  4045.  
  4046.  
  4047.  
  4048.  
  4049.  
  4050.  
  4051.  
  4052.  
  4053.  
  4054.  
  4055.  
  4056.  
  4057.  
  4058.  
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.                    GRASP - Graphical System for Presentation
  4079.                                    Page:  63
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.         WAITKEY                                                    WAITKEY
  4087.  
  4088.  
  4089.         Summary:
  4090.         -------
  4091.  
  4092.         This command instructs the  demonstration or  presentation to pause
  4093.         until a  key is  pressed, or  until timeout value, if specified. If
  4094.         timeout occurs, conditional branching is allowed.
  4095.  
  4096.  
  4097.         Syntax:
  4098.         ------
  4099.  
  4100.         WAITKEY <timeout>, <label>
  4101.  
  4102.         where 'timeout' is the time to wait before  timeout in  100ths of a
  4103.         second and 'label' is the label to go to if timeout occurs.
  4104.  
  4105.  
  4106.         Example:
  4107.         -------
  4108.  
  4109.         WAITKEY 600,myline
  4110.  
  4111.         will wait  until a  key is pressed, or until delay of 6 seconds. If
  4112.         delay of 6 seconds is reached, goto label 'myline'.
  4113.  
  4114.  
  4115.         Comments:
  4116.         --------
  4117.  
  4118.         If no timeout is specified, WAITKEY will wait  forever until  a key
  4119.         is pressed.  The key that is pressed to abort the wait is saved and
  4120.         may be tested by IFKEY.
  4121.  
  4122.  
  4123.  
  4124.  
  4125.  
  4126.  
  4127.  
  4128.  
  4129.  
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.                    GRASP - Graphical System for Presentation
  4140.                                    Page:  64
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.         WINDOW                                                       WINDOW
  4148.  
  4149.  
  4150.         Summary:
  4151.         -------
  4152.  
  4153.         This command is used  to restrict  a picture  fade to  a particular
  4154.         portion of  the screen. The coordinates you pass are in pixels, but
  4155.         they are rounded to the nearest byte, or usually 8 pixels.
  4156.  
  4157.  
  4158.         Syntax:
  4159.         ------
  4160.  
  4161.         WINDOW x,y,x1,y1
  4162.  
  4163.         where 'x', 'y', 'x1' and 'y1'  are the  lower left  and upper right
  4164.         corner of the window to set for clipping.
  4165.  
  4166.  
  4167.         Example:
  4168.         -------
  4169.  
  4170.         WINDOW 40,40,100,160
  4171.  
  4172.         will set  the fade  window to 40,40,100,160. The PFADE command will
  4173.         only fade that portion of the screen that lies in this region.
  4174.  
  4175.  
  4176.         Comments:
  4177.         --------
  4178.  
  4179.         WINDOW has no effect on the CFADE command.
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.  
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.                    GRASP - Graphical System for Presentation
  4201.                                    Page:  65
  4202.  
  4203.  
  4204.  
  4205.  
  4206.  
  4207.  
  4208.                         This page intentionally left blank
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217.  
  4218.  
  4219.  
  4220.  
  4221.  
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.  
  4231.  
  4232.  
  4233.  
  4234.  
  4235.  
  4236.  
  4237.  
  4238.  
  4239.  
  4240.  
  4241.  
  4242.  
  4243.  
  4244.  
  4245.  
  4246.  
  4247.  
  4248.  
  4249.  
  4250.  
  4251.  
  4252.  
  4253.  
  4254.  
  4255.  
  4256.  
  4257.  
  4258.  
  4259.  
  4260.  
  4261.                    GRASP - Graphical System for Presentation
  4262.                                    Page:  66
  4263.  
  4264.  
  4265.  
  4266.  
  4267.  
  4268.  
  4269.                       Tips, Hints, Examples and Demo Programs
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275.  
  4276.  
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.  
  4288.  
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294.  
  4295.  
  4296.  
  4297.  
  4298.  
  4299.  
  4300.  
  4301.  
  4302.  
  4303.  
  4304.  
  4305.  
  4306.  
  4307.  
  4308.  
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320.  
  4321.  
  4322.                    GRASP - Graphical System for Presentation
  4323.                                    Page:  67
  4324.  
  4325.  
  4326.  
  4327.  
  4328.  
  4329.  
  4330.                         This page intentionally left blank
  4331.  
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.  
  4352.  
  4353.  
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.  
  4379.  
  4380.  
  4381.  
  4382.  
  4383.                    GRASP - Graphical System for Presentation
  4384.                                    Page:  68
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.         Example Program #1 - Slide Show
  4392.         -------------------------------
  4393.  
  4394.         A simple slideshow can be constructed  by creating  a grasp command
  4395.         file as follows:
  4396.  
  4397.  
  4398.         ; Slideshow demo for GRASP
  4399.         ;
  4400.         ; This program will load and display 4 pictures, alternating
  4401.         ; between fade #1 and fade #2, waiting for a count of 500 between
  4402.         ; each fade.
  4403.         ;
  4404.          video a             ; set medium res 4 color CGA mode (this can
  4405.                              ; be whatever mode you want to use)
  4406.         ;
  4407.          load pic1           ; load pic1 into buffer 1
  4408.          fade 1              ; fade using fade number 1
  4409.          waitkey 500         ; wait for a count of 500
  4410.         ;
  4411.          load pic2           ; load pic2 into buffer 1
  4412.          fade 2              ; but use fade #2 this time.
  4413.          waitkey 500         ; etc...
  4414.         ;
  4415.          load pic3
  4416.          fade 1
  4417.          waitkey 500
  4418.         ;
  4419.          load pic4
  4420.          fade 2
  4421.          waitkey 500
  4422.         ;
  4423.          exit                ; quit the program
  4424.  
  4425.  
  4426.  
  4427.  
  4428.  
  4429.  
  4430.  
  4431.  
  4432.  
  4433.  
  4434.  
  4435.  
  4436.  
  4437.  
  4438.  
  4439.  
  4440.  
  4441.  
  4442.  
  4443.  
  4444.                    GRASP - Graphical System for Presentation
  4445.                                    Page:  69
  4446.  
  4447.  
  4448.  
  4449.  
  4450.  
  4451.  
  4452.         Example Program #2 - How to animate using FLY
  4453.         ---------------------------------------------
  4454.  
  4455.         Let's say  you have  2 clippings  which are  a flock  of birds with
  4456.         wings up and wings down. To fly them across the screen, (from 0,160
  4457.         to 300,160 issue the following sequence:
  4458.  
  4459.  
  4460.          tran on 3      ; turn transparent mode on
  4461.                         ; (this assumes the background is color 3.)
  4462.         ;
  4463.          cload birds1,1                ; load in first clip
  4464.          cload birds2,2                ; load in second clip
  4465.          fly 0,160,300,160,3,4,1,2     ; fly 'em!
  4466.         ;
  4467.          tran off       ; turn off transparent mode
  4468.  
  4469.         The parameters  in the  fly command  are x1,y1,x2,y2,step(number of
  4470.         pixels between each putup),delay(time of delay between each putup),
  4471.         and list of clippings, in this case, 1 and 2.
  4472.  
  4473.  
  4474.  
  4475.  
  4476.  
  4477.  
  4478.  
  4479.  
  4480.  
  4481.  
  4482.  
  4483.  
  4484.  
  4485.  
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.  
  4495.  
  4496.  
  4497.  
  4498.  
  4499.  
  4500.  
  4501.  
  4502.  
  4503.  
  4504.  
  4505.                    GRASP - Graphical System for Presentation
  4506.                                    Page:  70
  4507.  
  4508.  
  4509.  
  4510.  
  4511.  
  4512.  
  4513.         APPENDIX A - Command Summary
  4514.  
  4515.  
  4516.         Notes:
  4517.         -----
  4518.  
  4519.         Each   command's   arguments  (if  any) are separated by commas  or
  4520.         spaces, whichever is preferable.
  4521.  
  4522.         Comments begin at a semicolon and  continue  for  the  rest  of the
  4523.         line.
  4524.  
  4525.         Line  labels   are  up  to  16  characters  long  and  end  with  a
  4526.         colon,i.e.,<label>:.
  4527.  
  4528.         Subroutines can be nested up to 16 levels deep.
  4529.  
  4530.         There can be up to 16 levels of nesting in MARK,LOOP constructions.
  4531.  
  4532.         CAPITAL letters are the command name. It must be spelled correctly,
  4533.         but capitals are not required.
  4534.  
  4535.         LOWERCASE letters  and numbers are parameters. You must specify all
  4536.         required parameters, (those not enclosed in <>), or you will get an
  4537.         error message indicating too few parameters.
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.  
  4546.  
  4547.  
  4548.  
  4549.  
  4550.  
  4551.  
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.  
  4561.  
  4562.  
  4563.  
  4564.  
  4565.  
  4566.                    GRASP - Graphical System for Presentation
  4567.                                    Page:  71
  4568.  
  4569.  
  4570.  
  4571.  
  4572.  
  4573.  
  4574.         Command Summary:
  4575.         ---------------
  4576.         BOX x,y,x2,y2,<width>                 - draw a box
  4577.         CFADE #,x,y,<buffer>,<speed>,<delay>  - fade a clipping to screen
  4578.         CFREE buffer,<buffer>,...             - free up clipping buffer(s)
  4579.         CHGCOLOR from,to,<from,to>,...        - EGA, change color index
  4580.         CIRCLE x,y,rx,<ry>                    - draw an ellipse
  4581.         CLEARSCR                              - clear screen
  4582.         CLOAD clipping filename,<buffer>      - load a clipping
  4583.         COLOR color1,<color2>                 - set color 1 & color 2
  4584.         EXEC program,<parameters>             - execute program from GRASP
  4585.         EXIT                                  - quit program
  4586.         FFREE                                 - free the font buffer
  4587.         FGAPS <char_gap, space_gap>           - set text gaps
  4588.         FLOAD character set filename          - load a font
  4589.         FLOAT xs,ys,xe,ye,step,delay,clp1...  - float clip across screen
  4590.         FLY xs,ys,xe,ye,step,delay,clp1...    - fly clip across screen
  4591.         FSTYLE style                          - set text style
  4592.         GOSUB label                           - execute subroutine
  4593.         GOTO label                            - goto label
  4594.         IFKEY key,label                       - if key match, goto label
  4595.         LINE x,y,x2,y2                        - draw line
  4596.         LINK textfile filename                - link to another text file
  4597.         LOOP                                  - loop to previous mark
  4598.         MARK loop count                       - mark for looping
  4599.         MODE border color,<palette>           - CGA border & palette set
  4600.         NOISE freq1,freq2,duration            - make some noise
  4601.         OFFSET x,y                            - set x and y offsets
  4602.         PALETTE buffer                        - EGA mode set palette
  4603.         PAN x0,y0,x1,y1,<buffer>              - EGA pan from x0,y0 to x1,y1
  4604.         PFADE #,<buffer>,<speed>,<delay>      - fade a picture to screen
  4605.         PFREE buffer,<buffer>,...             - free up picture buffer(s)
  4606.         PLOAD picture filename,<buffer>       - load a picture
  4607.         POINT x,y,<x2,y2>                     - draw a point
  4608.         PUTUP x,y,<buffer>,<delay>            - put a clip to screen @ x,y
  4609.         RESETSCR                              - reset screen to default
  4610.         RETURN                                - return from subroutine
  4611.         SETCOLOR c1,c2,c3...c16               - EGA mode set 16 colors
  4612.         TEXT x,y,"some text",<delay>          - put up text @ x,y
  4613.         TRAN on/off, color                    - transparent mode on/off
  4614.         VIDEO vidmode                         - set video mode
  4615.         WAITKEY <timeout>, <label>            - wait for a keypress
  4616.         WINDOW x0,y0,x1,y1                    - set clip window
  4617.  
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.  
  4627.                    GRASP - Graphical System for Presentation
  4628.                                    Page:  72
  4629.  
  4630.  
  4631.  
  4632.  
  4633.  
  4634.  
  4635.         APPENDIX B - Fade Table
  4636.  
  4637.         There are  25 fades  in GRASP  which must  be called by number. All
  4638.         fades work on  graphics  screens,  graphics  screens  in  a window,
  4639.         clippings  and  text  screens.  This  list  is  also  accessable by
  4640.         pressing F3 while in the GRASP editor.
  4641.  
  4642.         Fade # Description
  4643.         ------ -------------------------------------------------------
  4644.           0    Quick snap wipe
  4645.           1    Horizontal left to right wipe
  4646.           2    Horizontal right to left wipe
  4647.           3    Horizontal edge to center wipe
  4648.           4    Horizontal center to edge wipe
  4649.           5    Horizontal 1 pass filter wipe - both sides simultaneously
  4650.           6    Horizontal 2 pass filter wipe - from left, then from right
  4651.           7    Horizontal halves wipe - left to right, then right to left
  4652.           8    Horizontal halves wipe - left and right simultaneously
  4653.           9    Vertical top to bottom wipe
  4654.          10    Vertical bottom to top wipe
  4655.          11    Vertical edge to center wipe
  4656.          12    Vertical center to egde wipe
  4657.          13    Vertical filter wipe, top and bottom simultaneously
  4658.          14    Vertical halves wipe, top and bottom simultaneously
  4659.          15    Vertical halves wipe, left down, right up
  4660.          16    Vertical quarters wipe
  4661.          17    Vertical fingers wipe
  4662.          18    Vertcial fingers/filter combination wipe
  4663.          19    Slither from top to bottom
  4664.          20    Sparkle fade (random)
  4665.          21    Diagonal wipe
  4666.          22    Aperature dissolve - edge to center
  4667.          23    Aperature dissolve - center to edge
  4668.          24    Clockwise clock dissolve
  4669.          25    Double slant dissolve
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.  
  4684.  
  4685.  
  4686.  
  4687.  
  4688.                    GRASP - Graphical System for Presentation
  4689.                                    Page:  73
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.                         This page intentionally left blank
  4697.  
  4698.  
  4699.  
  4700.  
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.  
  4718.  
  4719.  
  4720.  
  4721.  
  4722.  
  4723.  
  4724.  
  4725.  
  4726.  
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.  
  4735.  
  4736.  
  4737.  
  4738.  
  4739.  
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.  
  4748.  
  4749.                    GRASP - Graphical System for Presentation
  4750.                                    Page:  74
  4751.  
  4752.  
  4753.  
  4754.  
  4755.  
  4756.  
  4757.         APPENDIX C - Error Messages
  4758.  
  4759.         The following is a  list of  messages you  may get  while executing
  4760.         GRASP and some of their causes and solutions.
  4761.  
  4762.  
  4763.         MOST COMMON ERRORS:
  4764.  
  4765.  
  4766.         I.    The  most  common  error  is  not a grasp program error but a
  4767.               system error. The screen will  clear,  and  you  will  get an
  4768.               error like
  4769.  
  4770.          External Memory allocation overflow, xxxxk requested, yyyyk free.
  4771.  
  4772.               This means  that you have tried to load a picture or clipping
  4773.               that is too large  for the  memory you  have left.  There are
  4774.               several fixes for this problem.
  4775.               1) Buy more memory. EGA 16 color demos usually take most of a
  4776.               640K machine
  4777.               2) Check your code and use PFREE, CFREE and FFREE to clean up
  4778.               memory  when  you  are  through  using  particular  pictures,
  4779.               clippings and fonts. See the section  of the  manual on these
  4780.               commands.
  4781.               3)  Use  the  special  parameter, ',1' on clipping loads that
  4782.               don't make the shifted copies. In order to be able to PUTUP a
  4783.               clipping at  any single-pixel coordinate, GRASP needs to make
  4784.               up to 8 shifted copies of the clipping.  If you  are going to
  4785.               be using  CFADE or putting it up at a byte boundary, then the
  4786.               shifted copies aren't necessary. You can keep them from being
  4787.               generated by typing:
  4788.  
  4789.               CLOAD clip,1,1 ;note the extra ',1'
  4790.  
  4791.               If you  do specify the extra parameter, and you try to put up
  4792.               the clipping at a non-byte  boundary,  no  putup  will occur.
  4793.               Remember,  FLY,  FLOAT  and  PUTUP  can  put clippings at any
  4794.               coordinate. CFADE can only putup at a byte boundary.
  4795.  
  4796.               If none of the above three  work,  then  call  the  GRASP and
  4797.               PCPAINT BBS for more advice.
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.                    GRASP - Graphical System for Presentation
  4811.                                    Page:  75
  4812.  
  4813.  
  4814.  
  4815.  
  4816.  
  4817.  
  4818.         II. System Errors
  4819.  
  4820.          The following  is a  list of  the GRASP system errors that you may
  4821.         encounter. These will appear on the top of the screen while running
  4822.         your demo  along with  a line number where the error occurred. When
  4823.         you press a key, you will be returned to that line in your program.
  4824.         If you  get the  error while running under the runtime version, the
  4825.         program will stop.
  4826.  
  4827.  
  4828.  
  4829.         DUPLICATE LABEL 
  4830.  
  4831.         - You have used the same label name more than once in your demo and
  4832.         GRASP is confused.
  4833.  
  4834.  
  4835.         ERROR IN LOOP COUNT
  4836.  
  4837.          - Loop count  must be  a positive  number. This  error occurs if a
  4838.         negative number was specified.
  4839.  
  4840.  
  4841.         ERROR IN NAME
  4842.  
  4843.          - You have used an invalid character  in a  filename, or  the file
  4844.         GRASP was trying to load was not found.
  4845.  
  4846.  
  4847.         ERROR IN PACKED CLIPPING
  4848.  
  4849.          - sometimes,  clippings  may  be  trashed or someone tries to load
  4850.         some other file with a .CLP extension. If GRASP does  not recognize
  4851.         a  clipping  as  being  a  valid  clipping  file, you will get this
  4852.         message.
  4853.  
  4854.  
  4855.         ERROR IN XCOORD
  4856.  
  4857.          - The Y-coordinate lies off  the screen.  This may  occur after an
  4858.         OFFSET command. If you specify 0 for the Y coordinate, but Y offset
  4859.         is set to -5, you will get this error.
  4860.  
  4861.  
  4862.         ERROR IN YCOORD
  4863.  
  4864.          - The Y-coordinate lies off  the screen.  This may  occur after an
  4865.         OFFSET command. If you specify 0 for the Y coordinate, but Y offset
  4866.         is set to -5, you will get this error.
  4867.  
  4868.  
  4869.  
  4870.  
  4871.                    GRASP - Graphical System for Presentation
  4872.                                    Page:  76
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.         ERROR LOADING FONT
  4880.  
  4881.          - GRASP doesn't recognize the  font you  are trying  to load. Also
  4882.         could be too large for memory or hardware error during load.
  4883.  
  4884.  
  4885.         ERROR LOADING PICTURE
  4886.  
  4887.          - GRASP doesn't recognize the picture you are trying to load. Also
  4888.         could be hardware error during load.
  4889.  
  4890.  
  4891.         ERROR LOADING TEXT
  4892.  
  4893.          - GRASP doesn't recognize the text file you are trying to link to.
  4894.         Also could be hardware during load.
  4895.  
  4896.  
  4897.         ILLEGAL ARGUMENT(S)
  4898.  
  4899.          - One  of  the  arguments  for  the  current  command  is invalid.
  4900.         Examples are invalid video mode, etc.
  4901.  
  4902.  
  4903.         ILLEGAL BUFFER
  4904.  
  4905.          - You have specified a buffer  number  that  is  outside  of valid
  4906.         range. Buffers  are 1-16 for pictures and 1-128 for clippings. Also
  4907.         may get this when an error occurs trying  to allocate  a new buffer
  4908.         during load.
  4909.  
  4910.  
  4911.         ILLEGAL COLOR
  4912.  
  4913.          - You have specified an invalid color number for this video mode.
  4914.  
  4915.  
  4916.         ILLEGAL FADE
  4917.  
  4918.          - You have specified an invalid fade number. Valid fades are 0-25.
  4919.  
  4920.  
  4921.         ILLEGAL PALETTE
  4922.  
  4923.          - You have  specified an  invalid palette  number for  CGA 4 color
  4924.         mode. Valid palettes are 0-5.
  4925.  
  4926.  
  4927.         ILLEGAL SPEED
  4928.  
  4929.          - You have specified an invalid speed for a fade. Valid speeds are
  4930.         0-10000.
  4931.  
  4932.                    GRASP - Graphical System for Presentation
  4933.                                    Page:  77
  4934.  
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.         INVALID FONT STYLE
  4941.  
  4942.          - You have  specified an  invalid font  style number. Valid styles
  4943.         are 0-6.
  4944.  
  4945.  
  4946.         INVALID GAP VALUE
  4947.  
  4948.          - You have specified an invalid GAP value. Range is 0-255.
  4949.  
  4950.  
  4951.         LABEL NOT FOUND
  4952.  
  4953.          - You have  tried to  reference a  label which  was not previously
  4954.         defined.
  4955.  
  4956.  
  4957.         MEMORY ERROR
  4958.  
  4959.          - When trying  to allocate the memory for your GRASP command file,
  4960.         an error was encountered. Usually only happens when  a command file
  4961.         is too large.
  4962.  
  4963.  
  4964.         NOT ENOUGH ARGUMENTS
  4965.  
  4966.          - Certain commands require a minimum number of arguments. You need
  4967.         to specify some more.
  4968.  
  4969.  
  4970.         THIS COMMAND REQUIRES AN EGA
  4971.  
  4972.          - Just like it says, this particular command requires  an EGA card
  4973.         and EGA video mode to operate.
  4974.  
  4975.  
  4976.         TOO MANY LOOPS
  4977.  
  4978.          - You have nested your loops deeper than the maximum, which is 16,
  4979.         or you have more loop commands that mark commands.
  4980.  
  4981.  
  4982.         TOO MANY MARKS
  4983.  
  4984.          - You have nested your loops deeper than the maximum, which is 16,
  4985.         or you have more mark commands than loop commands.
  4986.  
  4987.  
  4988.         UNKNOWN COMMAND
  4989.  
  4990.          - GRASP found  something that  was not  a comment, not a label and
  4991.         couldn't recognize as a valid command. Check your spelling.
  4992.  
  4993.                    GRASP - Graphical System for Presentation
  4994.                                    Page:  78
  4995.  
  4996.  
  4997.  
  4998.  
  4999.  
  5000.  
  5001.         APPENDIX D - Picture Swap Line
  5002.  
  5003.  
  5004.         There is a public domain electronic  bulletin board  which operates
  5005.         24 hours a day with the sole purpose of providing a method by which
  5006.         users of PCPAINT and GRASP may exchange pictures, clippings, fonts,
  5007.         effects and  ideas. This help eliminate the extra cost of providing
  5008.         artwork for many of  the GRASP  demos you  may want  to create. The
  5009.         most current version of GRASP will be avaliable this system.
  5010.  
  5011.         All uploads  and downloads  are free  and may be used by anyone. We
  5012.         encourage you to contribute any artwork you feel  could be  used by
  5013.         someone  else.  Of  course  there  will  be proprietary artwork you
  5014.         either pay  to have  developed, or  need to  keep confidential. But
  5015.         your discards may be another's joy...
  5016.  
  5017.         The BBS is located in Costa Mesa, California, and the number is
  5018.  
  5019.                            ***    (714) 545-8100    ***
  5020.  
  5021.         You will  be limited  to 1 hour of use per day. We suggest that you
  5022.         use 1200 or 2400 baud modems set at 8 bits, 1 stop  bit, no parity.
  5023.         You will  be transferring binary files so the 8 bit mode is a must.
  5024.         There are several utility programs you will want  to download first
  5025.         which allow you to squeeze and unsqueeze the pic files so that they
  5026.         will not take as much time  to upload  and download.  You will find
  5027.         them in the UTILITY file area.
  5028.  
  5029.  
  5030.         Thanks in advance for your support and contributions to the board.
  5031.  
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.                    GRASP - Graphical System for Presentation
  5055.                                    Page:  79
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061.  
  5062.                         This page intentionally left blank
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.  
  5078.  
  5079.  
  5080.  
  5081.  
  5082.  
  5083.  
  5084.  
  5085.  
  5086.  
  5087.  
  5088.  
  5089.  
  5090.  
  5091.  
  5092.  
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098.  
  5099.  
  5100.  
  5101.  
  5102.  
  5103.  
  5104.  
  5105.  
  5106.  
  5107.  
  5108.  
  5109.  
  5110.  
  5111.  
  5112.  
  5113.  
  5114.  
  5115.                    GRASP - Graphical System for Presentation
  5116.                                    Page:  80
  5117.  
  5118.  
  5119.  
  5120.  
  5121.  
  5122.  
  5123.         APPENDIX E - GRASP Order Form
  5124.  
  5125.         GRASP is distributed in the USEware format. If you are going to USE
  5126.         it, please check the appropriate box below and  enclose a  check or
  5127.         purchase order. If you find the program unUSEable, please drop us a
  5128.         line telling us why. If you pay for the program by sending  in this
  5129.         registration form with a check or money order, you will be added to
  5130.         our mailing list and be  kept  notified  of  new  releases  and new
  5131.         utilities.
  5132.  
  5133.         ------------------------------------------------------------------
  5134.         Single-User Order Form
  5135.         ======================
  5136.         If you are going to pay for less than 50 copies, use this form. The
  5137.         single user price is $50.00.  California  residents  please  add 6%
  5138.         sales tax. You must pay for EACH copy you plan to use.
  5139.  
  5140.         Full Name:__________________________  ___ Copies @ $50.00=_________
  5141.  
  5142.         Address  :__________________________      6% Sales Tax   =_________
  5143.  
  5144.                  :__________________________      Total Enclosed =_________
  5145.  
  5146.         City, St.:_________________    _____  Zip:_________________
  5147.  
  5148.         ------------------------------------------------------------------
  5149.         Corporate Site License Order Form
  5150.         =================================
  5151.         If you are going to be using in excess of 50 copies of GRASP within
  5152.         your company at one site, (5 mile radius from licensing party), you
  5153.         need  only  pay  for  the  first  50  copies. You may then make and
  5154.         distribute to your employees an unlimited  number of  copies of the
  5155.         software and  manual. We  have 45 day billing if you include a P.O.
  5156.         number instead of a check or money order.
  5157.  
  5158.         Primary Corporate Contact for updates, etc.:
  5159.  
  5160.         Full Name :_________________________  50 Copies @ $50.00 = $2500.00
  5161.  
  5162.         Address   :_________________________        6% Sales Tax =_________
  5163.  
  5164.                   :_________________________      Total Enclosed =_________
  5165.  
  5166.         Department:_________________________   P.O. Number:________________
  5167.  
  5168.         City, St. :_________________    _____     Zip:_________________
  5169.  
  5170.         Authorized Signature:______________________________  Date:_________
  5171.  
  5172.         ------------------------------------------------------------------
  5173.  
  5174.  
  5175.  
  5176.                    GRASP - Graphical System for Presentation
  5177.                                    Page:  81
  5178.  
  5179.